Selenium Webdriver 未连接到代理

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 实例?任何帮助表示赞赏