slenium配置Firefox-Chrome代理ip



Chrome:

chromedriver = 'C:/Program Files (x86)/Google/Chrome/Application/chromedriver.exe'  
1.chome_options = webdriver.ChromeOptions()  
2.chome_options.add_argument(('--proxy-server=http://' + ip))  
3.os.environ["webdriver.chrome.driver"] = chromedriver  
4.driver = webdriver.Chrome(chromedriver, chrome_options=chome_options)  


Firefox:
from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.set_preference('network.proxy.type', 1)
profile.set_preference('network.proxy.http', ip)# 这里写ip
profile.set_preference('network.proxy.http_port', 3128)# 这里写端口
profile.set_preference('network.proxy.ssl', ip) # 这里写ip
profile.set_preference('network.proxy.ssl_port', 3128) # 这里写端口
profile.update_preferences()
driver = webdriver.Firefox(profile)

这些坑分别是:

有些地方只告诉你配置network.proxy.http和network.proxy.http_port。但是如果不设置network.proxy.type,一切都是浮云。这个配置是个整数,默认是0,就是直接连接;1就是手工配置代理。
profile.set_preference(‘network.proxy.type’, 1)

那个端口号3128是整数
profile.set_preference(‘network.proxy.http’, ‘proxy_url’)
profile.set_preference(‘network.proxy.http_port’, 3128)

如果有些资源是https的,是需要另外配置network.proxy.ssl和network.proxy.ssl_port的。例如facebook的图片。。。

set完以后,是需要update_preferences的。。。
profile.update_preferences()

最后贴一个完整的Firefox配置参数表:http://kb.mozillazine.org/Firefox_:_FAQs_:_About:config_Entries

如果发现自己的配置好像没有生效,那么在webdriver启动的Firefox里面输入about:config。然后对着上面那个配置参数表来看。总会发现掉哪个坑的。\

 

posted @ 2017-12-19 17:37  一只虫  Views(1048)  Comments(0Edit  收藏  举报