我正在使用 Selenium ChromeDriver
,我需要处理来自显示的浏览器头部的任意URL更改的事件(基本上,所有这些导航都是由最终用户点击引起的在页面上。)
在.NET默认的WebBrowser
控件中,我们可以使用WebBrowser.DocumentCompleted
,这是硒浏览器所没有的。
例如:
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.
}
我该如何实现?
答案 0 :(得分:0)
我找到了一个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
但是,这并不能满足需要在页面更改时触发事件的需要,特别是因为上述方法过多的过程编码。