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

如何在c#selenium chrome驱动程序中验证(用户/密码)代理

乜明朗
2023-03-14

我有一个HTTP/HTTPS代理,需要使用用户名和密码进行身份验证。我如何使用C#硒铬网络驱动程序做到这一点?

string host = proxies[count].Split(':')[0];
int port = Convert.ToInt32(proxies[count].Split(':')[1]) + 1;

string prox = host + ":" + port.ToString();

OpenQA.Selenium.Proxy proxy = new OpenQA.Selenium.Proxy();
proxy.HttpProxy = prox;
proxy.SslProxy = prox;
options.Proxy = proxy;

options是我分配给驱动程序的ChromeOptions类。

共有3个答案

东郭臻
2023-03-14

这是针对firefox的,但上面的答案可能会有所帮助。

C#Selenium WebDriver FireFox配置文件-使用具有身份验证的代理

您可以做的是创建一个配置文件并将身份验证数据保存在其中。如果您的配置文件名为“webdriver”,则可以从初始化中的代码中选择它:

ProfilesIni allProfiles = new ProfilesIni(); 
FirefoxProfile profile = allProfiles.getProfile("WebDriver"); 
profile.setPreferences("foo.bar",23);
WebDriver driver = new FirefoxDriver(profile);
方鸿羲
2023-03-14

我为你的问题创建了一个小程序包(https://github.com/RDavydenko/OpenQA.Selenium.Chrome.ChromeDriverExtensions)

安装程序包:

Install-Package OpenQA.Selenium.Chrome.ChromeDriverExtensions -Version 1.2.0

使用您的ChromeOptions

using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Chrome.ChromeDriverExtensions;
...
var options = new ChromeOptions();

// Add your HTTP-Proxy
options.AddHttpProxy(PROXY_HOST, PROXY_PORT, PROXY_USER, PROXY_PASSWORD);

var driver = new ChromeDriver(options); // or new ChromeDriver(AppDomain.CurrentDomain.BaseDirectory, options);

driver.Navigate().GoToUrl("https://whatismyipaddress.com/"); // Check your IP

代替PROXY_HOST,PROXY_PORT,PROXY_USER,PROXY_PASSWORD,使用代理的参数

赏开宇
2023-03-14

我发现唯一成功的方法是使用AutoIT(https://www.autoitscript.com/site/autoit ).

我已经为所有主要浏览器设置了代理身份验证,但这应该适用于Chrome。这是我用记忆写在手机上的。如果它不起作用,让我知道,我会纠正的。

WinWait("data:, - Google Chrome","","10")
If WinExists("data:, - Google Chrome","")Then
WinActivate("data:, - Google Chrome")
Send("USERNAMEGOESHERE"{TAB}")
Send("USERPASSWORDGOESHERE"{ENTER}")

使用AutoIT,将其创建为脚本,编译为exe,将其保存在某个地方,并使用以下(Java代码)引用该文件:

Runtime.getRuntime().exec("C:\\users\\USERID\\desktop\\FILENAME.exe");

我发现在调用触发代理身份验证的URL之前,最好先调用代理脚本一步。

 类似资料:
  • 本文向大家介绍C ++程序生成验证码并验证用户,包括了C ++程序生成验证码并验证用户的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将讨论一个生成CAPTCHA并验证用户的程序。 为此,我们将为用户提供一个随机字符串,并要求他重新输入相同的字符串。然后,必须检查给定字符串和输入字符串是否匹配。 CAPTCHA应该是由az,AZ和0-9组成的完全随机的系统。 示例 输出结果

  • 我正试图从我的java类中打开Google网站来测试Selenium。 启动端口36521上的ChromeDriver 75.0.3770.90(A6DCAF7E3EC6F70A194CC25E8149475C6590E025-Refs/Branch-Heads/3770@{#1003})。只允许本地连接。 请保护ChromeDriver和相关测试框架使用的端口,以防止恶意代码访问。 线程“mai

  • 我正在尝试使用selenium在pycharm中键入我的第一个GUI测试。 我通过cmd raport安装了selenium: C: 然后我用pycharm编写了一些代码: 这就是当我点击开始时发生的事情: 文件“C:/Users/Admin/PycharmProjects/untitled/venv/test.py”,第3行driver=webdriver.Chrome(“C:\Users\Ad

  • 我正在使用mongo 3.0.8。我有一个带密码管理员的认证用户管理员。我能够如下连接到mongo外壳。 Mongo admin-u amdin-p amdin 然而,我试图连接到使用以下C代码。这给我一个错误 警告:客户端:无法连接到ipv4 127.0.0.1:27017,错误:111,连接被拒绝

  • 背景资料: 我有一个PHP脚本,它解析文本文件并使用它将数据插入mongo数据库。我不再使用旧的Mongo PHP驱动程序,而是使用MongoDB\driver类(http://php.net/manual/en/book.mongodb.php) 问题 有一段代码,我试图用新类重写,但我似乎无法让它工作——也就是它没有向数据库写入数据...我也不知道如何找到错误。 旧代码: 这是旧代码: 新代码

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