from selenium import webdriver profile = webdriver.FirefoxProfile() profile.set_preference('network.proxy.type', 1) profile.set_preference('network.proxy.http', 'proxy_url') profile.set_preference('network.proxy.http_port', 3128) profile.set_preference('network.proxy.ssl', 'proxy_url') 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。然后對着上面那個配置參數表來看。總會發現掉哪個坑的。
轉自http://magustest.com/2011/09/23/proxy-config-of-firefox-driver/