首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# Selenium WebDriver -是否可以检查某个网页是否已经在浏览器中打开?

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

Stack Overflow用户
提问于 2015-08-28 14:35:06
回答 2查看 3.1K关注 0票数 0

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

例如,在点击票务系统中的“时间轨迹”按钮时,程序同时以编程方式单击toggl开始按钮。

EN

回答 2

Stack Overflow用户

发布于 2015-08-28 14:39:52

是的,有可能。

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

代码语言:javascript
复制
if (driver.Url == 'http://some_url') { /* you are there */ }

代码语言:javascript
复制
if (driver.Title == 'Some Title') { /* the window is open and currently there */ }

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

票数 2
EN

Stack Overflow用户

发布于 2015-08-28 15:11:44

除了@sircapsalot回答:

这还不够,因为我们的目标是

点击售票系统中的“时间轨迹”按钮

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

代码语言:javascript
复制
 var wait = new WebDriverWait(_driver, TimeSpan.FromSeconds(15));
 var myElement = wait.Until(x => x.FindElement(By.Id("timeTrackBtnId")));
 if(myElement.Displayed)
 myElement.Click();

那就去

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

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32273528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档