通过代理运行Selenium(python)

时间:2016-10-28 08:38:03

标签: python selenium proxy

我设置了一些代码来通过代理列表运行selenium。第一种方法并不真正相关。它只是从.txt文档中获取IP和端口,以便它们可以通过proxy(IP, PORT)方法循环。

def IP_PORT_select(n):
    f = open("/home/usr/Desktop/proxies", "r")
    doc = f.read()
    IP_PORT = re.compile("\d+")
    match = IP_PORT.findall(doc)
    IP = match[n] + "." + match[n+1] + "." + match[n+2] + "." + match[n+3]
    PORT = match[n+4]
    return IP, PORT

def proxy(IP, PORT):
    firefox_profile = webdriver.FirefoxProfile()
    firefox_profile.set_preference("network.proxy.type", 1)
    firefox_profile.set_preference("network.proxy.http", IP)
    firefox_profile.set_preference("network.proxy.http_port", int(PORT))
    firefox_profile.set_preference("network.proxy.share_proxy_settings", True)
    driver = webdriver.Firefox(firefox_profile=firefox_profile)
    return driver

我基本上是在这里复制了另一个问题,但最后我添加了自己的部分firefox_profile.set_preference("network.proxy.share_proxy_settings", True)

我注意到,即使我手动设置代理,除非我选中了框,否则它将无法工作#34;将此地址用于所有代理"。现在,当我通过selenium进行测试时,除非我手动进入设置并单击"确定"否则它不起作用。现在奇怪的部分是技术上,所有正确的信息都在那里,它只是在我手动过去并且" ok"之后才被激活。一切。

作为旁注,我也遇到了很多错误问题"代理拒绝连接" (或类似的东西)。我不确定这是我做错了什么,还是只是代理的错。如果有人建议清理我的代码,我也很乐意听到它

0 个答案:

没有答案