C# 当Selenium ChromeDriver';s的URL更改

C# 当Selenium ChromeDriver';s的URL更改,c#,selenium,selenium-chromedriver,driver,C#,Selenium,Selenium Chromedriver,Driver,我正在使用SeleniumChromeDriver,我需要处理来自显示的浏览器头部的任意URL更改事件(基本上,所有这些导航都是由最终用户点击页面引起的) 在.NET默认WebBrowser控件中,我们可以使用selenium浏览器没有的WebBrowser.DocumentCompleted 例如: ChromeDriver driver = new ChromeDriver(); driver.UrlChanged += OnUrlChanged; // the event I need

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

在.NET默认
WebBrowser
控件中,我们可以使用selenium浏览器没有的
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.
}
我怎样才能做到这一点呢?

我找到了一个“讨厌的”解决方案,那就是
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

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

请参阅:[我如何做X?](\“\”)。因此,用户提出问题时不仅要进行研究以回答他们自己的问题,还要分享研究结果,代码尝试和结果。这表明你花了时间来帮助自己,它使我们避免重复显而易见的答案,最重要的是,它帮助你得到一个更具体和相关的答案!另见:“@JeffC对不起,我的研究没有什么可分享的,因为我没有发现任何与此相关的东西,这就是为什么我问社区如何实现我的目标