在你的情況,我想,你應該使用的端口作爲int而不是字符串。看下面的詳細信息
讓我們先了解FF(或您使用Selenium使用的網絡驅動程序)如何設置SOCKS代理。
對於Firefox,請執行以下操作:在URL框中進行配置。
network.proxy.socks;10.10.10.1
network.proxy.socks_port;8999
network.proxy.socks_remote_dns;true
network.proxy.socks_version;5
你可以看到如下FF輪廓導演的prefs.js相同:
user_pref("network.proxy.socks", "10.10.10.1");
user_pref("network.proxy.socks_port", 8999);
user_pref("network.proxy.type", 1);
需要注意的是,network.proxy.socks是字符串,它應該僅僅設置爲字符串。 network.proxy.socks_port必須是int。
在使用硒Python模塊設置它:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.proxy import *
import time
# for fresh FF profile
#profile = webdriver.FirefoxProfile()
profile_path="/path/to/custom/profile/"
profile = webdriver.FirefoxProfile(profile_path)
# set FF preference to socks proxy
profile.set_preference("network.proxy.type", 1)
profile.set_preference("network.proxy.socks", "10.10.10.1")
profile.set_preference("network.proxy.socks_port", 8999)
profile.set_preference("network.proxy.socks_version", 5)
profile.update_preferences()
driver = webdriver.Firefox(firefox_profile=profile)
driver.get("http://whatismyip.com")
print driver.page_source
# sleep if want to show in gui mode. we do print it in cmd
time.sleep(25)
driver.close()
driver.quit()
請檢查是否給予優先支持,並以約FF:配置列表。
看看用戶如何使用socks_port ....在例子中http://www.wsec.be/blog/2012/05/22/using-selenium-for-web-based-hostname-enumeration/& https://gist.github.com/2402041 – avasal
謝謝!哇,我簡直不敢相信我錯過了那個「細節」嘿嘿。你可以把它作爲答案補充,以便我可以接受它嗎? – rowasc
當然,沒問題:) – avasal