使用selenium webdriver在弹出窗口中显示处理警报

时间:2017-05-11 11:23:11

标签: python selenium selenium-webdriver popup webdriver

方案如下:

打开一个页面 - >此页面创建另一个窗口 新窗口 - >显示提醒

现在我有两个窗口句柄,第二个窗口被警告消息冻结。

我使用了代码:

WebDriverWait(driver, 2).until(EC.alert_is_present(),
                                       'Timed out waiting for PA creation ' +
                                       'confirmation popup to appear.')

我的问题是要赶上警报吗司机是否需要切换到显示警报的新窗口? 无论当前窗口处理程序如何,都可以使用driver.switch_to.alert捕获警报。

测试页面在这里:http://alertonpopwindow.bitballoon.com/

感谢, MHD。

1 个答案:

答案 0 :(得分:0)

如果您不知道名为alert()的窗口,可以尝试

from selenium.common.exceptions import NoAlertPresentException

for window in driver.window_handles:
    driver.switch_to.window(window)
    try:
        driver.switch_to.alert.accept()
        break
    except NoAlertPresentException:
        pass