如何在Selenium Python中设置UnexpectedAlertBehavior



这个问题涉及在Java中设置Selenium网络驱动程序的UnexpectedAlertBehavior。你如何在Python的ChromeDriver中做同样的事情?

我尝试了以下方法;

options = ChromeOptions()
options.headless = True
options.set_capability("UNEXPECTED_ALERT_BEHAVIOUR", "ACCEPT")
options.set_capability("unexpectedAlertBehaviour", "accept")
options.set_capability("CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR", "ACCEPT")
options.set_capability("UnexpectedAlertBehaviour", "ACCEPT")
webdriver.DesiredCapabilities.CHROME["unexpectedAlertBehaviour"] = "accept"
cls.driver = webdriver.Chrome(chrome_options=options)

但是,我仍然随机遇到此意外警报当前异常:

selenium.common.exceptions.UnexpectedAlertPresentException: Alert Text: 消息:意外警报打开:{警报文本:}

当我在非无头模式(头部模式?我没有看到这样的警报,但测试仍然随机失败并出现此异常,尽管我努力设置这个难以捉摸的选项。

随着 chromedriver 变得符合 W3C 标准。我们需要使用 unhandledPromptBehavior 在 ChromeDriver 76.0.3809.126 上已检查(默认情况下在符合 W3C 标准的模式下运行(

chrome_options = Options()
chrome_options.set_capability('unhandledPromptBehavior', 'accept')
driver = webdriver.Chrome(options=chrome_options)
driver.get("https://www.google.com")
driver.execute_script('alert("HI");')
time.sleep(10)
print(driver.title)
time.sleep(10)

参考 Chrome 驱动程序:问题 2597:支持新的未处理提示行为模式

相关内容

  • 没有找到相关文章

最新更新