如何在selenium Python中使用auth for Chrome设置SOCKS5代理?

Fej*_*ejs 6 python proxy selenium selenium-chromedriver

我正在尝试使用PIA(https://www.privateinternetaccess.com)提供的SOCKS5代理.我在他们的网站上为SOCKS5生成了用户/通行证,但是我不能使用这些信息,因为我不知道把它放在哪里.我尝试过使用ChromeOptions,但它没有用.

def create_browser(self, proxy):
    """
    proxy = "xGeneratedUser:GeneratedPass@proxy-nl.privateinternetaccess.com:1080"
    """
    chrome_options = webdriver.ChromeOptions()
    if proxy:
        chrome_options.add_argument("--proxy-server=socks5://" + proxy)
    try:
        self.browser = webdriver.Chrome('./chromedriver', chrome_options=chrome_options)
        self.browser.set_window_size(800, 600)
    except Exception as error:
        return False
Run Code Online (Sandbox Code Playgroud)

M. *_*ung 0

硒.webdriver.chrome.webdriver

\n\n
WebDriver(executable_path=\'chromedriver\', port=0, chrome_options=None, service_args=None, desired_capabilities=None, service_log_path=None)\n
Run Code Online (Sandbox Code Playgroud)\n\n

参数:

\n\n
    \n
  • executable_path- 可执行文件的路径。如果使用默认值,则假定可执行文件位于 $PATH 中
  • \n
  • port- 您希望服务运行的端口,如果保留为 0,将找到一个空闲的\n端口。
  • \n
  • desired_capabilities:仅具有非浏览器特定功能的字典对象,例如 \xe2\x80\x9cproxy\xe2\x80\x9d 或 \xe2\x80\x9cloggingPref\xe2\x80\x9d。
  • \n
  • chrome_options:这需要一个 ChromeOptions 实例
  • \n
\n\n

您可以按照下面 URL 中的表格为desired_capability 编写代理字典对象。\n DesiredCapability - 代理 JSON 对象

\n

  • 嗯,发现Chrome中没有实现SOCKS身份验证。甚至在 chrome_options 和desired_capability 的代理手动设置中删除了 Socks_Proxy,只有 http/ftp/ssl 可用。也许尝试其他浏览器。 (2认同)