所以我有一个需要用selenium测试的页面,它最近已被更改为使用警告弹出式身份验证(如果你不知道我在说什么,那么请检查this。
我目前的做法是从上面的链接开始,但是我使用Actions来发送密钥而不仅仅是查找元素。
browser.get(url)
Alert alert = browser.switchTo().alert();
Actions action = new Actions(browser)
action.sendkeys(user).sendkeys(Keys.tab).sendkeys(password).perform()
alert.accept()
问题从第一行开始,它就会卡在那里......好像selenium / chromedriver没有检测到该页面已加载,它可以继续下一行。
我肯定知道这一点,因为当我尝试在第一行之后打印某些东西时,它永远不会被打印出来并最终(永远是永恒的)它会抛出我的TimeOutException。
有什么建议吗?
使用最新: 硒3.11.0 ChromeDriver 2.38 谷歌Chrome 66
答案 0 :(得分:1)
弹出窗口不是浏览器的一部分,它属于操作系统,这就是为什么无法通过硒访问
只需将您的凭据直接发送到网址,请参阅Automating Authentication popup in Selenium