最近搜索

java - 通过 Selenium Java 上的 ChromeOptions 支持代理

浏览:619
管理员 2023-03-21 13:38


System.setProperty("webdriver.chrome.driver","C:\\Users\\xxxx\\IdeaProjects\\chromedriver.exe\\");

ChromeOptions options = new ChromeOptions();Proxy proxy = new Proxy();
proxy.setHttpProxy("107.175.153.215:3128");

options.setCapability("proxy", proxy);

ChromeDriver driver = new ChromeDriver(options);

driver.get("https://www.ipinfo.io");


我一直在试图弄清楚为什么这不起作用。我也尝试过使用 geckodriver,但没有任何成功。一年前它曾经很好,所以不确定有什么问题/不同。

我看到这在控制台中迭代了一段时间,然后它停止了。:

[1582009560.815][SEVERE]: Timed out receiving message from renderer: 0.100

 

最佳答案

看来你很接近了。从 Selenium v3.6.0,ChromeOptions类(class) 客户端还实现了 Capabilities接口(interface),允许您指定其他WebDriver 能力 不特定于 ChromeDriver。因此,您可能需要:

  • 而不是使用 ChromeDriver类,使用 WebDriver界面。

  • 此外,您需要删除尾随转义的反斜杠,即 \\来自 chromedriver.exe小路。

  • 您的有效代码块将是:

    System.setProperty("webdriver.chrome.driver","C:\\Users\\xxxx\\IdeaProjects\\chromedriver.exe");
    ChromeOptions options = new ChromeOptions();Proxy proxy = new Proxy();
    proxy.setHttpProxy("107.175.153.215:3128");
    options.setCapability("proxy", proxy);
    ChromeDriver driver = new ChromeDriver(options);
    driver.get("https://www.ipinfo.io");

关于java - 通过 Selenium Java 上的 ChromeOptions 支持代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60275473/


联系站长

站长微信:xiaomao0055

站长QQ:14496453