Chrome驱动程序无法识别警报消息框

时间:2018-05-23 12:13:25

标签: selenium selenium-chromedriver alert

我正在使用Selenium Chrome驱动程序来测试我的应用程序。

浏览器中有一个页面,其中显示加载警报消息,我必须单击确定

问题是当我尝试在代码中使用driver.SwitchTo().Alert时。页面仍在加载时,警报显示在前台页面上。当我在此时继续调试时,我的驱动程序等待无限时间,当我手动单击“确定”按钮时,它会尝试switchto().alert,但由于没有警报,它会失败。

我将不胜感激。

注意:页面在加载表格中,直到我点击提醒上的确定按钮,我想知道它是否是警报

我也遵循以下解决方案,但它对我不起作用 https://groups.google.com/forum/#!topic/selenium-users/CixorzKZE4E

我得到以下异常, 他向远程WebDriver服务器请求URL localhost:3200 / session / 0285afd8049f70878988405463448d24 / ... 60秒后超时。

我仍然可以在我的孩子窗口看到警报。

3 个答案:

答案 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警报。