我设置了一些代码来通过代理列表运行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"之后才被激活。一切。
作为旁注,我也遇到了很多错误问题"代理拒绝连接" (或类似的东西)。我不确定这是我做错了什么,还是只是代理的错。如果有人建议清理我的代码,我也很乐意听到它