繁体   English   中英

在无头 Chrome 硒中具有身份验证的代理

[英]Proxy with authenticaiton in headless Chrome selenium

我需要运行多个 selenium chrome,它们都具有不同的代理。 由于性能,我想无头运行。 我已经尝试了 3 个不同的代理库。 他们工作,但仅限于非无头,因为无头不支持 chrome 扩展。 我还在参数中尝试了“--proxy-server=user:pass@proxyurl”。 也没有用。

有没有其他方法可以使用代理运行 selenium。 没有创建本地代理(因为我需要多个)并且没有 chrome 扩展? 非常感谢您的所有回答

经过2天的奋斗,我找到了解决方案这段代码帮助了我

options.AddArguments(new List() { "no-sandbox", "disable-web-security", "ignore-certificate-errors", "headless", "--blink-settings=imagesEnabled=false" });

        string username = string.Empty;
        string password = string.Empty;
        //proxy
        if (!string.IsNullOrEmpty(proxy))
        {
            //ip, port, username, passwords
            string[] proxySplit = proxy.Split(":");

            Proxy p = new Proxy();
            p.SslProxy = proxySplit[0] + ":" + proxySplit[1];
            p.HttpProxy = proxySplit[0] + ":" + proxySplit[1]; 
            p.FtpProxy = proxySplit[0] + ":" + proxySplit[1];                
            options.Proxy = p;

            username = proxySplit[2];
            password = proxySplit[3];
        }

        driver = new ChromeDriver(driverService, options);

        var handler = new NetworkAuthenticationHandler()
        {
            UriMatcher = _ => true,
            Credentials = new PasswordCredentials(username, password)
        };
        driver.Manage().Network.AddAuthenticationHandler(handler);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM