簡體   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