C# selenium chromedriver 验证代理

以下 C# 用于打开 selenium 驱动程序并连接到具有身份验证的代理。chrome 警报在 driver.Navigate().GoToUrl(...) 上弹出并且无法通过。这意味着我无法处理 try{}catch{} 中的警报。

如何验证代理?

到目前为止我发现的最接近的是这篇文章

using System;

using System.Net;

using System.Net.Sockets;


using OpenQA.Selenium;

using OpenQA.Selenium.Chrome;

using OpenQA.Selenium.Support.UI;


namespace ConnectProxy

{

    internal class Program

    {

        private static void Main()

        {


            var proxy = new

            {

                Ip = "XXX",

                Username = "YYY",

                Password = "ZZZ",

                Port = "80"

            };


            string PROXY = proxy.Ip + ":" + proxy.Port;


            Proxy pro = new Proxy();

            pro.HttpProxy = PROXY;

            pro.FtpProxy = PROXY;

            pro.SslProxy = PROXY;


            ChromeOptions options = new ChromeOptions();

            options.Proxy = pro;


            IWebDriver driver = new ChromeDriver(options);

            driver.Navigate().GoToUrl("https://" + proxy.Username + ":" + proxy.Password + "@" + "whatismyipaddress.com/");


            try

            {


                WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(15));

                wait.Until(c => c.FindElement(By.Id("content-section")));


                IAlert alert = driver.SwitchTo().Alert();

                alert.SetAuthenticationCredentials(proxy.Username, proxy.Password);

                alert.Accept();

            }

            catch { }

        }

    }

}


UYOU
浏览 229回答 1
1回答

catspeake

根据selenium 文档,尝试通过 selenium 进行操作不是可用资源。相反,根据帖子,您需要向 chrome 添加一个扩展,其中包含代理主机和身份验证详细信息。
打开App,查看更多内容
随时随地看视频慕课网APP