使用python selenium在浏览器中创建警报窗口
我想在浏览器中创建警报窗口使用python selenium在浏览器中创建警报窗口,python,selenium,selenium-webdriver,webdriver,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');") 或 或 在所有情况下,都会显示警报窗口。但在所有情况下,我都有一个异常:selenium.common.exce
browser = webdriver.Firefox(
executable_path=geckodriver_path,
log_path=geckodriver_log_path
)
browser.get(url)
要创建警报窗口,请执行以下操作:
browser.execute_script("alert('qwer');")
或
或
在所有情况下,都会显示警报窗口。但在所有情况下,我都有一个异常:selenium.common.exceptions.WebDriverException:Message:Failed to find value field
创建警报窗口的正确方法是什么?这似乎是
geckodriver
的问题。尽管生成了“找不到值字段”
异常,但您仍然可以处理打开的警报,因此您可以应用以下解决方法:
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
…或者,如评论中所述,您可以使用
Chrome
、IE
等您可以尝试其他浏览器吗?例如Chromedriver。这似乎是一个与Firefox相关的问题。
browser.execute_script("return (function(){alert('qwer'); return 0;})();")
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