这是我一直在使用的,没有任何问题,使用 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 个。