[英]Python webdriver with a socket connection
我被困在公司防火牆后面,需要能夠運行我的webdriver測試。 我在端口9191上有一個開放的socks5隧道,可用於瀏覽互聯網
我有以下webdriver / chromedriver代碼:
options = webdriver.ChromeOptions()
proxy_string = "ec2-*.*.*.compute-1.amazonaws.com" + ":" + '3128'
socks_proxy_string = "socks5://"+ proxy_string+":9191"
options.add_extension(basedir+"/ProxyAutoAuth.crx")
prox = Proxy()
prox.proxy_type = ProxyType.MANUAL
# prox.http_proxy = proxy_string
prox.http_proxy = socks_proxy_string
prox.socks_proxy = proxy_string
prox.ssl_proxy = socks_proxy_string
capabilities = webdriver.DesiredCapabilities.CHROME
prox.add_to_capabilities(capabilities)
driver = webdriver.Chrome(executable_path=CHROMEDRIVER_PATH,desired_capabilities=capabilities, options=options)
driver.get("chrome-extension://ggmdpepbjljkkkdaklfihhngmmgmpggp/options.html")
time.sleep(3)
driver.find_element_by_id("login").send_keys("user")
driver.find_element_by_id("password").send_keys("pass")
driver.find_element_by_id("retry").clear()
driver.find_element_by_id("retry").send_keys("2")
driver.find_element_by_id("save").click()
driver.get('https://api.ipify.org'):
這一直在家里工作,允許我使用具有基本身份驗證的亞馬遜ec2魷魚代理來運行測試。 如您所見,我嘗試通過更改代碼來修改代碼以使用現有隧道
proxy_string = "ec2-*.*.*.compute-1.amazonaws.com" + ":" + '3128'
在家里工作:
socks_proxy_string = "socks5://"+ proxy_string+":9191"
但是我得到了
ERR_PROXY_CONNECTION_FAILED
錯誤。 如何引導請求通過socks5隧道?
好像端口被兩次添加到了socks_proxy_string-所以它將以
...compute-1.amazonaws.com:3128:8181
如果您在本地主機上有隧道,則socks_proxy_string應該是socks5:// localhost:9191
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.