Selenium Basic HTTP身份验证弹出窗口

时间:2017-05-10 13:47:56

标签: selenium selenium-webdriver selenium-chromedriver

有没有办法处理基本的http身份验证弹出窗口? 有几个古老的答案可以使用https://username:password@www.example.com/ url模式提​​供身份验证,但如下所述: https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication 这已被弃用,不再适用。

无法使用webdriver Alert API处理它(因为这是浏览器警报而不是js),获取 selenium.common.exceptions.NoAlertPresentException: Message: no alert open

Chrome驱动程序修订版:2.29.461571

2 个答案:

答案 0 :(得分:0)

如果selenium警报不起作用,您可以尝试使用javascript执行程序

 ((JavascriptExecutor) driver).executeScript("window.confirm = function(msg) { 
 return
 true; }");

请参阅此主题以了解类似问题类型https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/27

答案 1 :(得分:0)

是的,可以通过在IE中进行一些设置来解决此问题。 您可以按照以下步骤进行操作 -

  1. 打开IE浏览器
  2. 打开网站,您想在IE中自动化。
  3. 输入您的凭据以登录您的网站
  4. 登录后,转到 -         工具 - >互联网选项 - >安全 - >可信站点
  5. 点击“网站”
  6. 在网站下添加您的网站网址并关闭它。
  7. 点击自定义级别
  8. 在“用户身份验证”下,选择“使用当前用户名和密码自动登录”
  9. 点击“确定”
  10. 现在,您可以在Chrome等任何浏览器中执行您的脚本,并且不会要求此特定网站的凭据。
  11. 希望,这对你有所帮助。