【问题标题】:Fire an event when Selenium ChromeDriver's URL changesSelenium ChromeDriver URL 更改时触发事件
【发布时间】:2019-01-04 19:39:48
【问题描述】:

我正在使用 Selenium ChromeDriver,我需要处理来自显示的浏览器头部的任意 URL 更改事件(基本上,所有由最终用户点击页)。

在.NET 默认的WebBrowser 控件中,我们可以使用WebBrowser.DocumentCompleted,这是selenium 的浏览器所没有的。

例如:

ChromeDriver driver = new ChromeDriver();
driver.UrlChanged += OnUrlChanged; // the event I need

void OnUrlChanged(){
    //handle any url change here caused by the user navigating on the browser.
}

我怎样才能做到这一点?

【问题讨论】:

  • 请参阅:[我如何做 X?](\"meta.stackoverflow.com/questions/253069/…\")还分享了该研究、代码尝试和结果。这表明您已经花时间尝试帮助自己,它使我们免于重复明显的答案,最重要的是它可以帮助您获得更具体和相关的答案!另见:How to Ask"
  • @JeffC 对不起,我的研究没有什么可分享的,因为我没有发现任何关于此事的信息,这就是为什么我向社区询问如何实现我的目标

标签: c# selenium selenium-chromedriver driver


【解决方案1】:

我找到了一个“讨厌”的解决方案,即WebDriverWait

WebDriverWait wait = new WebDriverWait(_driver,TimeSpan.FromSeconds(6));

wait.Until(driver => driver.Url.Contains("urlpart"));

//code to be executed when the url will contain urlpart

但是,这并不能解决在页面更改时触发事件的需求,尤其是因为上述方法的程序编码过多。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-18
    • 2012-05-02
    相关资源
    最近更新 更多