Ale*_*Pas 12 selenium-chromedriver selenium-webdriver google-chrome-headless
我用chromedriver进行了selenium webdriver测试.虽然我可以在使用Chrome浏览器时成功运行测试,但我无法在无头模式下运行相同的测试.
我无法处理Js警报.实际上,当拍摄屏幕截图时,似乎警报甚至不会弹出.
我尝试了几种解决方法:
1)driver.window_handles
- >似乎没有其他窗口存在
2)driver.execute_script("window.confirm = function(){return true;}")
- >该脚本没有任何改变
3)element = WebDriverWait(driver, 20).until(EC.alert_is_present())
当然是明确的等待
在浏览器模式下我使用普通:
try:
print driver.switch_to.alert.text
driver.switch_to.alert.accept()
except NoAlertPresentException as e:
print("no alert")
Run Code Online (Sandbox Code Playgroud)
其他人在无头模式下遇到此问题的警告?
小智 16
Chrome 61还有这个问题,所以我花了一些时间寻找不同的解决方案.我最喜欢的是因为它的简单性是在显示警报之前注入javascript以便自动接受警报.
只需将以下代码行放在导致警报显示的行之前:
driver.ExecuteJavaScript("window.confirm = function(){return true;}");
Run Code Online (Sandbox Code Playgroud)
适用于无头镀铬和PhantomJS.
归档时间: |
|
查看次数: |
6364 次 |
最近记录: |