Python Selenium Webdriver - 代理身份验证
Posted
技术标签:
【中文标题】Python Selenium Webdriver - 代理身份验证【英文标题】:Python Selenium Webdriver - Proxy Authentication 【发布时间】:2013-10-18 04:15:39 【问题描述】:我想将 Selenium Webdriver 与需要用户身份验证的代理一起使用。这可能吗?
这是我目前所拥有的,但我不知道将凭据放在哪里(user:pass@proxy:port)
from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.set_preference("network.proxy.type", 1)
profile.set_preference("network.proxy.http", "proxy")
profile.set_preference("network.proxy.http_port", "port_number")
profile.update_preferences()
driver = webdriver.Firefox(firefox_profile=profile)
driver.get('http://www.google.com')
driver.title
【问题讨论】:
您找到解决方案了吗? 嗨,是的,我最终将 PhanomJS 与 Selenium 一起使用:realpython.com/blog/python/… 和 phantomjs.org/api/command-line.html 要使用带有扩展名的Firefox,请参阅:***.com/a/39903614/955422 【参考方案1】:这是我一直在使用的,没有任何问题,使用 Seleniums 内置的代理功能。
from selenium import webdriver
from selenium.webdriver.common.proxy import *
prof = webdriver.FirefoxProfile()
prof.set_preference('signon.autologin.proxy', 'true')
prof.set_preference('network.proxy.share_proxy_settings', 'false')
prof.set_preference('network.automatic-ntlm-auth.allow-proxies', 'false')
prof.set_preference('network.auth.use-sspi', 'false')
proxy_data = 'address': '123.123.123.123:2345',
'usernmae': 'johnsmith123',
'password': 'iliketurtles'
proxy_dict = 'proxyType': ProxyType.MANUAL,
'httpProxy': proxy_data['address'],
'ftpProxy': proxy_data['address'],
'sslProxy': proxy_data['address'],
'noProxy': '',
'socksUsername': proxy_data['username'],
'socksPassword': proxy_data['password']
proxy_config = Proxy(proxy_dict)
driver = webdriver.Firefox(proxy=proxy_config, firefox_profile=prof)
编辑:这个答案来自 2017 年。Selenium 和 Firefox 都进行了重大更改,并且不再有效。因此,为什么这个答案从 5 个赞成票变成了现在的 -3 个。
【讨论】:
以上是关于Python Selenium Webdriver - 代理身份验证的主要内容,如果未能解决你的问题,请参考以下文章
[python] python+selenium+webdriver