java - Selenium WebDriver.get() 在加载的页面为空并带有警报弹出登录时卡住
问题描述
所以我有一个需要用 selenium 测试的页面,它最近已更改为使用警报弹出身份验证(如果您不知道我在说什么,请检查这个.
我目前的方法几乎是上面链接中的 3. 方法,但我使用 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。
有什么建议么?
使用最新:Selenium 3.11.0 ChromeDriver 2.38 Google Chrome 66
解决方案
弹出窗口不是浏览器的一部分,它属于操作系统,这就是为什么无法通过 selenium 访问
只需将您的凭据直接发送到 URL,请参阅Selenium 中的自动身份验证弹出窗口
推荐阅读
- javascript - Javascript 打印函数在 div 内生成脚本
- sql - Mariadb 中的双倍
- laravel - 如何使用解密()解密 laravel 中的密码?
- cordova - Clojurescript - 带有 JSPDF+Cordova 的电子邮件附件?
- reactjs - React.cloneElement 在尝试验证子元素时返回双元素
- .net-core - 用 html 字符串数据上的同步融合替换邮件合并
- kotlin - 未解决的参考:Kotlin 1.3 中的异步
- javascript - 获取某个单选按钮
- php - 将变量传入和传出 PayPal
- javascript - 这将打开正确的提示,但是当我按 Enter 时没有任何反应