使用python selenium在浏览器中创建警报窗口

时间:2017-03-22 08:51:05

标签: python selenium selenium-webdriver webdriver

我想在浏览器中创建警告窗口。

browser = webdriver.Firefox(
    executable_path=geckodriver_path,
    log_path=geckodriver_log_path
)
browser.get(url)

创建警报窗口:

browser.execute_script("alert('qwer');")

browser.execute_script("return alert('qwer');")

browser.execute_script("return (function(){alert('qwer'); return 0;})();")

在所有情况下都显示警报窗口。但在所有情况下,我都有一个例外:selenium.common.exceptions.WebDriverException: Message: Failed to find value field

创建警报窗口的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

这似乎是geckodriver问题。尽管生成了"Failed to find value field"异常,您仍然可以处理已打开的警报,因此您可以在下面应用解决方法:

from selenium.common.exceptions import WebDriverException

try:
    browser.execute_script("alert('qwer');")
except WebDriverException:
    pass
browser.switch_to.alert.text # output is "qwer"
browser.switch_to.alert.accept() # alert closed

...或者,如评论中所述,您可以使用ChromeIE