【发布时间】:2020-03-28 07:26:17
【问题描述】:
我正在尝试在我的remote driver which is hosted as a docker container on port 4444 上使用 socks5 代理。
这里是代码示例:
from selenium import webdriver
opts = webdriver.ChromeOptions()
opts.add_argument("--no-sandbox")
opts.add_argument("--disable-dev-shm-usage")
opts.add_argument("--proxy-server=socks5://127.0.0.1:9050")
driver = webdriver.Remote(command_executor="http://localhost:4444/wd/hub", desired_capabilities=opts.to_capabilities())
然后,当我尝试打开任何页面时,我收到错误声明 Check your proxy settings or contact your network administrator。
在常规代理上使用相同的代码示例时,它工作得很好。
当我通过9050 端口发出大胆的请求时——它工作得很好。
最后,当我使用 webdriver.Chrome 而不是 webdriver.Remote 的相同代码示例时,它工作正常!
如果有任何建议可以使事情通过远程 webdriver 工作,我将不胜感激。
更新:
我正在使用selenium==3.14.0,而 RemoteDriver 正在获取 docker 图像selenium/node-chrome-debug:3.141.59-radium。
【问题讨论】:
-
能否提供您正在使用的chromedriver版本和selenium包版本?谢谢。
-
@alecxe,感谢您与我们联系。我已经用版本更新了问题正文。
-
tor 代理是在主机上还是在容器中运行?
-
@pguardiario tor 代理正在本地主机上运行,但它可以从容器内部和本地主机访问(并且可以正常工作,例如使用
requestslib)。 -
好的,但是 ip 会与容器内部不同,是吗?
标签: python selenium docker selenium-chromedriver tor