我想知道如果在默认浏览器中打开某个网页,是否可以使用C#和selenium web驱动程序进行检查? 我的想法是将某些票务系统的时间跟踪器与toggl链接起来。
例如 - 点击" Time Track"在售票系统中的按钮,程序同时以编程方式单击切换开始按钮。
答案 0 :(得分:1)
是的,这是可能的。
您可以设计一个检查默认窗口的URL或标题的解决方案。
if (driver.Url == 'http://some_url') { /* you are there */ }
或
if (driver.Title == 'Some Title') { /* the window is open and currently there */ }
现在,如果您使用自己的浏览器手动运行浏览器,那么期望Selenium检测那个,那么我很抱歉,但 是不可能的。
答案 1 :(得分:1)
除了@sircapsalot回答:
由于目标是
,这还不够点击" Time Track"售票系统中的按钮
首先,您应该确保已加载页面并且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事件将如何处理此同步操作,但您可以尝试使用System.Threading。如果页面是由您创建的,那么第二部分(单击按钮,单击togl)最好在JS代码中处理。