C#硒chromedriver代理身份验证

时间:2019-01-25 01:43:38

标签: c# selenium proxy selenium-chromedriver

im使用c#在Visual Studio中编写自动化工具。

我在chromedriver中使用硒。我需要代理用户通过身份验证才能进行会话。但是我尝试了很多次,有很多资料,但是没有用。

基本上,用户如何为我的chromedriver会话传递IP端口代理。感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

有两种选择。

使用ChromeOptionsorg.openqa.selenium.Proxy配置代理

如果希望该解决方案易于移植在其他系统上运行,则可以尝试使用ChromeOptionsorg.openqa.selenium.Proxy配置代理。这里将提供一些其他方法来配置您的代理,但是我们需要知道支持什么类型的代理和身份验证类型。

// Add the WebDriver proxy capability.
Proxy proxy = new Proxy();
proxy.setHttpProxy("myhttpproxy:3337");
options.setCapability("proxy", proxy);

// Add a ChromeDriver-specific capability.
ChromeDriver driver = new ChromeDriver(options);

使用代理配置创建新的Chrome配置文件

或者,您可以为chrome创建一个配置了代理的配置文件,并告诉chrome驱动程序使用该配置文件。除非您将其容器化,否则如果没有手动设置,将很难(即使不是不可能)移植到其他系统,但这不在本文范围之内。

从chrome 71开始,转到chrome://settings/的chrome设置,然后选择“管理其他人”。创建一个新人来代表您的代理配置文件。使用浏览器配置代理,方法与通常手动连接的方式相同。

找到个人资料的路径,例如:C:\Users\<username>\AppData\Local\Google\Chrome\User Data\Profile 1(如果您在Windows上)。您可以通过导航到chrome://version/并查找Profile Path

轻松找到

使用ChromeOptions传递启动时为chrome设置用户数据目录的选项

ChromeOptions options = new ChromeOptions();
options.addArguments("user-data-dir=/path/to/your/custom/profile");

chromedriver的文档中摘录的一些片段