我面临一个奇怪的问题,并考虑重新配置selenium webdriver库。在此之前我希望在这里找到一个更简单的答案。 仅供参考:我正在使用python 2.7
我有2个功能和1个型号:
此功能用于启动Firefox sessionr
def register_user():
proxy_config = ProxyHandler.set_proxy()
driver = webdriver.Firefox(proxy=proxy_config.proxy, firefox_profile=proxy_config.profile)
driver.get('https://api.ipify.org?format=json')
接下来我连接的代理工作得非常好。我用ipify.org api测试它。我还尝试删除此调用,因为代理可能只能使用一次,并且可能在此调用后断开连接。
def set_proxy():
username = 'USENAME'
password = 'PASSWORD'
entry = ('http://customer-%s:%s@pr.oxylabs.io:8000' %
(username, password))
query = urllib2.ProxyHandler({
'http': entry,
'https': entry,
'proxyType': ProxyType.MANUAL,
'httpProxy': entry,
'ftpProxy': entry,
'sslProxy': entry,
'noProxy': '' # set this value as desired
})
proxy = urllib2.build_opener(query)
req = proxy.open("https://api.ipify.org?format=json").read()
j = json.loads(req)
ip = j['ip']
print ip
profile = webdriver.FirefoxProfile()
profile.set_preference("network.proxy.type", 1)
profile.set_preference("network.proxy.http", ip)
profile.set_preference("network.proxy.https", ip)
profile.set_preference("network.proxy.ssl", ip)
profile.set_preference("modifyheaders.headers.name0", "X-Forwarded-For")
profile.set_preference("modifyheaders.headers.name1", "X-Client-IP")
profile.set_preference("modifyheaders.headers.value0", ip)
profile.set_preference("modifyheaders.headers.value1", ip)
profile.update_preferences()
prof = profile
return ProxyModel.ProxyModel(proxy, prof, ip)
最后我的模型,应该没问题。
class ProxyModel:
def __init__(self, _proxy, _profile, _ip):
self.proxy = _proxy
self.profile = _profile
self.ip = _ip
selenium webdriver是否能够打开与urllib2.ProxyHandler实例设置的会话?我是否正确打开了webdriver实例? 任何帮助表示赞赏