我正在使用Selenium Chrome驱动程序来测试我的应用程序。
浏览器中有一个页面,在加载时会出现警报消息,我必须单击确定。
问题是当我尝试在代码中使用driver.SwitchTo().Alert
时。当页面仍在加载时,警报将显示在前台页面上。当我此时继续调试时,我的驱动程序会无限期地等待,当我手动单击"确定"按钮时,它会尝试switchto().alert
,但由于没有警报,因此失败。
我将不胜感激对此的任何帮助。
注意:页面处于加载表单中,直到我单击警报上的确定按钮,我想知道它是否是警报
我也遵循了以下解决方案,但它对我不起作用 https://groups.google.com/forum/#!topic/selenium-users/CixorzKZE4E
我得到以下异常, 对远程WebDriver服务器的URL请求 localhost:3200/session/0285afd8049f70878988405463448d24/...60 秒后超时。
我仍然可以在我的孩子窗口上看到警报。
如果webdriver 实例是驱动程序,您可以使用显式等待加载 part.ie
WebDriverWait wait=new WebDriverWait(driver, //mention the time as per need here ie 20);
wait.until(ExpectedConditions.urlToBe("mention the url"));
在警报处理代码之前。
您需要接受或消除警报,您可以尝试的代码:
driver.switchTo().alert().accept();
我发现警报是Javascript警报,如何处理javascript警报在Selenium文档中提到。