C#Selenium WebDriver-是否可以检查某个网页是否已在浏览器中打开?

C#Selenium WebDriver-是否可以检查某个网页是否已在浏览器中打开?,c#,selenium,browser,automation,webdriver,C#,Selenium,Browser,Automation,Webdriver,我想知道是否可以使用C#和selenium web驱动程序检查某个网页是否在默认浏览器中打开? 我的想法是将某些票务系统的时间跟踪器与toggl连接起来 例如,单击票务系统中的“时间跟踪”按钮,程序将以编程方式同时单击toggl start按钮。是的,这是可能的 您可以设计一个检查默认窗口URL或标题的解决方案 if (driver.Url == 'http://some_url') { /* you are there */ } 或 现在,如果您正在使用自己的浏览器手动运行浏览器,那么希望S

我想知道是否可以使用C#和selenium web驱动程序检查某个网页是否在默认浏览器中打开? 我的想法是将某些票务系统的时间跟踪器与toggl连接起来

例如,单击票务系统中的“时间跟踪”按钮,程序将以编程方式同时单击toggl start按钮。

是的,这是可能的

您可以设计一个检查默认窗口URL或标题的解决方案

if (driver.Url == 'http://some_url') { /* you are there */ }


现在,如果您正在使用自己的浏览器手动运行浏览器,那么希望Selenium检测到这一点,很抱歉,但这是不可能的。

除了@sircapsalot answer:

这还不够,因为目标是

点击票务系统中的“时间跟踪”按钮

首先,您应该确保页面已加载,并且可以单击
IWebElement
。在不使用某些高级用法(如页面状态的JS验证)的情况下,这应该可以很好地完成工作:

 var wait = new WebDriverWait(_driver, TimeSpan.FromSeconds(15));
 var myElement = wait.Until(x => x.FindElement(By.Id("timeTrackBtnId")));
 if(myElement.Displayed)
 myElement.Click();
那就去看电影吧

编程,同时以编程方式单击toggl开始按钮


我不确定您将如何同步以及页面的JS事件将如何处理这些同步操作,但您可以尝试使用。如果页面是由您创建的,那么第二部分(单击按钮,单击togl)最好在JS代码中处理

谢谢你,我会试试的!
 var wait = new WebDriverWait(_driver, TimeSpan.FromSeconds(15));
 var myElement = wait.Until(x => x.FindElement(By.Id("timeTrackBtnId")));
 if(myElement.Displayed)
 myElement.Click();