簡體   English   中英

具有套接字連接的Python Webdriver

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM