Selenium - 如何解除代理登录弹出窗口

时间:2018-06-10 11:26:15

标签: python-2.7 selenium selenium-chromedriver

我正在使用Selenium的免费代理,除了代理需要身份验证的情况外,一切正常。在这种情况下,浏览器会显示登录弹出窗口,但由于它是需要身份验证的代理服务器,因此处理警报的标准方法似乎不起作用。
目前我的代码如下所示:

driver = webdriver.Chrome(chromedriver_path)

try:
    driver.switch_to.alert.dismiss()
    raise ProxyFailed
except NoAlertPresentException:
    pass

driver.get(url)

try:
    driver.switch_to.alert.dismiss()
    raise ProxyFailed
except NoAlertPresentException:
    pass

当代理服务器需要身份验证时,我只想关闭该对话框,因为我没有任何凭据 问题是,对话框似乎阻止driver.get调用并等待用户输入(第一个try块执行,但程序永远不会到达第二个)。
我不能只从列表中删除这些有问题的代理,因为代理收集也是自动化的,并且每次程序启动时都会发生 通过互联网搜索,我只找到了处理登录弹出窗口的switch_to.alert方法。

或者,有没有办法在Chrome中禁用弹出窗口,因此它只显示401错误页面而不等待用户输入?

我在Linux上使用Python 2.7,但该软件也应在Windows上运行。

编辑:这是我正在谈论的对话: dialog screenshot
该文本转换为:

  

登录
  代理服务器[服务器地址]需要用户名和密码   您与本网站的连接不是私密的   用户名[输入]
  密码[输入]
  [登录] [取消]

我需要点击Selenium的取消按钮。

0 个答案:

没有答案
相关问题