【问题标题】:C# selenium chromedriver proxy authC# selenium chromedriver 代理身份验证
【发布时间】:2019-01-25 01:43:38
【问题描述】:

我正在用 c# 在 Visual Studio 中编写一个自动化工具。

我在 chromedriver 中使用 selenium。我的会话需要代理用户通过身份验证。但是我尝试了很多次和很多资源但没有用。

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

【问题讨论】:

  • 您能否分享有关如何启动 webdriver 和设置浏览器功能的代码。我认为这是我们需要开始的地方。

标签: c# selenium proxy selenium-chromedriver


【解决方案1】:

有几个选项。

使用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 的文档中提取的一些 sn-ps

【讨论】:

  • 嗨,布莱恩。谢谢你的帮助。但我尝试了这段代码,代理登录通过弹出窗口.. 如何用户:通过代理登录?
  • 您需要提供更多信息:“这里会有一些额外的方法来配置您的代理,但我们需要知道支持哪种代理和身份验证类型。”
  • 有人想出处理代理身份验证的解决方案吗?
  • 他说的是http代理认证
猜你喜欢
  • 2016-10-13
  • 2018-06-14
  • 2019-01-05
  • 2021-10-07
  • 2022-08-19
  • 2015-08-07
  • 2013-10-18
  • 2020-01-21
  • 2019-08-30
相关资源
最近更新 更多