im使用c#在Visual Studio中编写自动化工具。
我在chromedriver中使用硒。我需要代理用户通过身份验证才能进行会话。但是我尝试了很多次,有很多资料,但是没有用。
基本上,用户如何为我的chromedriver会话传递IP端口代理。感谢您的帮助。
答案 0 :(得分:0)
有两种选择。
ChromeOptions
和org.openqa.selenium.Proxy
配置代理如果希望该解决方案易于移植在其他系统上运行,则可以尝试使用ChromeOptions
和org.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 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的文档中摘录的一些片段