Python - Selenium测试在尝试接受警报时遇到困难

时间:2017-02-18 02:38:18

标签: javascript python selenium selenium-webdriver selenium-chromedriver

我是python-selenium的新手,正在实施一个自动化脚本,用于检查特定邮件并将其从Outlook Office邮件发送到目标客户端。单击转发邮件按钮时,将打开一个新窗口,其中包含一个警报,其中包含选择“确定”或“取消”的选项。我可以使用window_handles切换到窗口并切换到相应的警报,但接受警报获取在我手动按下确定按钮之前,没有任何反应。

window_handle_names = self.driver.window_handles
time.sleep(10)
self.driver.switch_to_window(window_handle_names[1])
time.sleep(10)
alert = self.driver.switch_to_alert()
alert.accept()

我正在使用基于dom的模型,其中我有子类webdriver和webelements。我可以看到执行发生在switch_to_alert()之前,但是一旦遇到accept,一切都会停止 注意:执行是在chrome中完成的,我没有在Firefox中测试相同的

1 个答案:

答案 0 :(得分:0)

switch_to_alert is deprecated。这意味着存在更好的替代方案。这个替代方案是

it { should validate_uniqueness_of(:value).case_insensitive }

更新

或者 - 正如您的建议 - 您可以尝试通过注入以下js重新定义来禁用警报

alert = self.driver.switch_to.alert