【问题标题】:How to set proxy AUTHENTICATION username:password using Python/Selenium如何使用 Python/Selenium 设置代理身份验证用户名:密码
【发布时间】:2020-02-15 22:06:09
【问题描述】:

我正在使用:

  • 硒 4
  • python 3.7
  • Firefox 网络驱动程序

我需要验证当前项目的用户名和密码。我这几天夜以继日地工作,我无法解决这个问题。我在互联网上找到了一些扩展,但它是从 13 年开始的,我想这就是它不起作用的原因。您还可以在下面查看我尝试过的其他方法。

但不起作用,因为由于 Selenium 错误,代理身份验证不再起作用..

alert_popup = browser.switch_to_alert()
    alert_popup.send_keys(
        "{username}{tab}{password}{tab}".format(
            username=proxy_username, tab=Keys.TAB, password=proxy_password
    )
)
alert_popup.accept()

我想创建一个配置文件并手动保存代理信息并使用该配置文件启动 selenium。但是firefox不允许手动输入用户名和密码。

【问题讨论】:

  • 显然selenium wire 可以进行代理身份验证,不过我不确定我是否信任它。
  • 太好了!您可能想为下一个人发布您如何做到的答案。

标签: python selenium firefox proxy


【解决方案1】:

我们使用 Selenium 库解决了这个问题。希望它有利于您的业务。硒丝

https://github.com/wkeeling/selenium-wire

感谢@pguardiario 的帮助..

【讨论】:

    【解决方案2】:

    要在 python selenium 中使用带有身份验证的代理,您可以使用 seleniumwire。

    首先,使用 pip install selenium-wire 安装它

    然后从 seleniumwire 导入 webdriver 而不是 selenium

    查看原始答案here

        from seleniumwire import webdriver
    options = {
        'proxy': {
            'http': 'http://username:password@host:port', 
            'https': 'https://username:password@host:port',
            'no_proxy': 'localhost,127.0.0.1' # excludes
        }
    }
    browser = webdriver.Chrome(path_to_driver, seleniumwire_options=options)
    

    【讨论】:

    • 经过大量时间搜索为什么 selenium 加载页面非常慢(15 秒)后发现问题出在 seleniumwire 上,如果您的操作对时间敏感,请寻找其他解决方案
    猜你喜欢
    • 2016-11-13
    • 1970-01-01
    • 2016-10-13
    • 2018-12-02
    • 1970-01-01
    • 1970-01-01
    • 2019-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多