当前位置: 首页 > 知识库问答 >
问题:

C#selenium chromedriver验证代理

乐正德华
2023-03-14

下面的C#用于打开一个selenium驱动程序,并通过身份验证连接到一个代理。在driver.navigate().gotourl(...)上弹出chrome警报无法通过。这意味着我无法在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 { }
        }
    }
}

共有1个答案

胡向阳
2023-03-14

根据selenium文档,尝试通过selenium执行此操作是不可用的资源。取而代之的是,正如文章所述,您需要为chrome添加一个扩展,其中包含代理主机和身份验证细节。

 类似资料:
  • 我使用下面的代码为代理。然而,当chrome启动时,弹出窗口将弹出,程序将被锁定。 我尝试了超文本传输协议或ssl... 或 我不能启动一个浏览器与一种代理。 我想要一个自动输入用户名和密码的代码。我不想要autoitx3。dll。 有办法启动安全代理吗? 非常感谢。

  • 有人能帮我完成输入验证功能吗。我正在验证整数输入。问题是当用户输入多个整数my cin时。fail()对每个整数运行,导致我的错误显示多次。让我告诉你我的意思 这是我的代码: 因此,如果用户要输入“jjj”;我的“请只输入整数”显示三次。我只想让它显示一次。我不知道怎么做。有什么想法吗?

  • 我传入以下内容(摘要/哈希是SHA1): 到此功能: 但我无法在OpenSSL中验证签名(verify_success为0),即使完全相同的数据在C#中验证成功。 关于我为什么或做错了什么的任何想法? C#中的公钥是: 我假设4543533120000000是。NET特定的东西,所以我只是把04前置到它的其余部分。 这是用于验证签名的C#代码,它成功地做到了(dataBytes的SHA1在两个程序

  • 本文向大家介绍C#生成随机验证码代码分享,包括了C#生成随机验证码代码分享的使用技巧和注意事项,需要的朋友参考一下 使用YZMHelper帮助类即可 使用例子

  • 我有基于C的应用程序,它们是用openssl smime签名的。 我希望使用C语言通过OpenSSL编程验证这些s/mime签名。我花了很多时间搜索类似的场景,但没有得到相关页面。 我已经下载了(openssl-1.0.2a)并在LinuxEnv上编译。我已经将编译的静态库集成到我的项目中。 请让我知道如何进行签名验证,或者请指导我需要调用哪个API来验证s/mime签名。

  • 我正在尝试编写一些代码来连接到使用Siteminder身份验证的HTTPS站点。 我一直得到401。有什么想法吗? 我在这里读了一些不同的东西,但没有一个看起来真的很有帮助。我也在使用Fiddler/Firefox Tamper来窥探发生了什么。 这是到目前为止我在代码方面得到的信息: