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