sta*_*ser 5 selenium python-2.7 selenium-webdriver
我面临一个奇怪的问题,并考虑重新配置 selenium webdriver 库。在这样做之前,我希望在这里找到一个更简单的答案。仅供参考:我使用 python 2.7
我有 2 个函数和 1 个模型:
该函数用于启动 Firefox 会话程序
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')
Run Code Online (Sandbox Code Playgroud)
接下来我将连接到运行良好的代理。我正在使用 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)
Run Code Online (Sandbox Code Playgroud)
最后是我的模型,应该没问题。
class ProxyModel:
def __init__(self, _proxy, _profile, _ip):
self.proxy = _proxy
self.profile = _profile
self.ip = _ip
Run Code Online (Sandbox Code Playgroud)
selenium webdriver 是否能够使用 urllib2.ProxyHandler 实例集打开会话?我是否正确打开了 webdriver 实例?任何帮助表示赞赏
| 归档时间: |
|
| 查看次数: |
382 次 |
| 最近记录: |