Поддержка прокси через ChromeOptions на Selenium Java - PullRequest
0 голосов
/ 18 февраля 2020
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, и не было никакого успеха. Раньше это было нормально год go, поэтому я не уверен, что не так / отличается.

Я вижу, что это немного повторяется в консоли, а затем останавливается .:

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

Спасибо.

1 Ответ

0 голосов
/ 18 февраля 2020

Кажется, вы были близки. Поскольку Selenium v3.6.0, класс ChromeOptions в клиенте также реализует интерфейс Capabilities, позволяя вам указать другой WebDriver возможности не указаны c для ChromeDriver. Поэтому вам может понадобиться:

  • Вместо использования класса ChromeDriver, используйте интерфейс WebDriver.
  • Кроме того, вам необходимо удалить конечный экранированный назад sla sh т.е. \\ из пути 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");
    
...