使用Selenium处理浏览器身份验证

Har*_*chi 15 browser authentication selenium automation

有没有人知道在自动化期间使用Selenium或任何其他工具处理浏览器身份验证?

Pet*_*ček 16

2015年编辑:

这个答案已经过时了.WebDriver现在支持身份验证!请参见如何使用Java使用Selenium WebDriver处理身份验证弹出窗口


原始答案:

Selenium没有很好地处理这个问题.


你可以尝试使用 http://username:password@example.com/yourpage

而不仅仅是 http://example.com/yourpage

但是,据我所知,Firefox仍然会弹出一个浏览器对话框,要求确认.


如果您正在使用Java(或任何类似AutoIt的类似工具),您可以尝试使用Robot.


你可以使用driver.manage().addCookie(),如果你使用的webdriver.


或者已经通过身份验证一次的自定义FirefoxProfile.


小智 5

我花了几天时间 - 字面意思.尝试通过公司网络中的浏览器级别身份验证来访问应用程序.解决方案是在URL中使用'unsername:password @'组件,但在登录URL的末尾添加正斜杠.

所以总登录网址如下所示(请注意您的网页后面的'/' ):

HTTP://用户名:password@example.com/yourpage/

适用于Watir,Capybara和Selenium Webdriver.