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

2024-05-31 23:45:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用PIA(https://www.privateinternetaccess.com)提供的SOCKS5代理。我在他们的网站上为SOCKS5生成了user/pass,但是我不能使用这些信息,因为我不知道该放在哪里。我试过使用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

Tags: httpsselfbrowsercom代理网站wwwchrome
3条回答

selenium.webdriver.chrome.webdriver

WebDriver(executable_path='chromedriver', port=0, chrome_options=None, service_args=None, desired_capabilities=None, service_log_path=None)

参数:

  • executable_path-可执行文件的路径。如果使用默认值 假定可执行文件位于$路径中
  • port-端口您希望服务运行,如果保留为0,则 将找到端口。在
  • desired_capabilities:Dictionary对象,具有非特定于浏览器的 仅限功能,如“proxy”或“loggingPref”。在
  • chrome_options:这以ChromeOptions为例

您可以按照下面的URL中的表编写一个代理字典对象,以获得所需的功能。 DesiredCapabilities - Proxy JSON Object

您可以尝试以下替代方案:-

  • 在您的.bashrc集合proxy中,chrome本身将使用它:

    export http_proxy="xGeneratedUser:GeneratedPass@proxy-nl.privateinternetaccess.com:1080"
    
    export https_proxy="xGeneratedUser:GeneratedPass@proxy-nl.privateinternetaccess.com:1080"
    
  • 否则,您可以使用以下工具:-proxy login automator

在windows上,对于带或不带身份验证的http/https代理,请在中运行以下命令之一命令行.exe公司名称:-

^{pr2}$

万一有人发现。。。在

我试图用selenium连接socks5代理,并认为问题是代理需要user/pass auth,由于我使用chromedriver,它无法正常工作,因为chrome本身不支持这一点。在

尝试使用不需要身份验证的socks5代理进行连接,或者找到一个支持该代理的驱动程序-虽然不知道这可能是哪个/什么。在

相关问题 更多 >