无法使用任何浏览器的selenium web-driver处理登录弹出窗口
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法使用任何浏览器的selenium web-driver处理登录弹出窗口相关的知识,希望对你有一定的参考价值。
我试图点击一个URL,要求提供身份验证弹出窗口,这既不是窗口弹出窗口,也不是浏览器弹出窗口。
除非使用用户名和密码手动输入此弹出窗口,否则代码driver.get(“myURL”)将挂起/暂停。手动输入凭据后,自动脚本将继续 - 下一行driver.get(“myURL”)。
到处都提到了AutoIT和其他警报方法。但问题是,除非手动处理,否则代码永远不会到达driver.get(“myURL”)的下一行。
相同的URL导航到本地计算机上的登录网页,我可以使用selenium webdriver处理,没有任何问题,因为没有警报弹出.ScreenShot但是在服务器机器中打开了相同的URL - 要求此弹出窗口输入用户名和密码。
您可以使用driver.get()
中的URL传递身份验证。为此,只需在:
分隔的协议之后直接添加凭据,并在实际URL之前以@
结尾。
例如,如果您的用户是“用户”而您的密码是“密码”:driver.get("https://user:password@yourpage.com");
找到解决方案,可以通过线程概念来处理
Thread t = new Thread(new Runnable() {
public void run() {
System.out.println(Thread.currentThread().getName());
driver.get(Thread.currentThread().getName());
}
}, url);
t.start();
// Next line of code :AutoIT or Robot or Sikuli to handle security pop-up
以上是关于无法使用任何浏览器的selenium web-driver处理登录弹出窗口的主要内容,如果未能解决你的问题,请参考以下文章
Selenium / Python:无法使用任何find_element_by_ *方法查找元素
Firefox 更新后无法使用 Selenium 打开浏览器
Firefox 更新后无法使用 Selenium 打开浏览器