ChromeDriver. Тайм-аут подключения к Chrome. Linux Debian сервер - PullRequest
0 голосов
/ 29 октября 2018

У меня есть приложение Java, которое использует ChromeDriver в режиме --headless в качестве WebDriver для анализа сайта.

Я использую maven-assembly-plugin, чтобы собрать его в jar-with-зависимости. На моей локальной машине Debian приложение запускается и работает отлично. Но когда я пытаюсь запустить его на выделенном сервере Debian без графического интерфейса, это дает мне следующее:

$ java -jar parser-1.0-SNAPSHOT-jar-with-dependencies.jar 
Starting ChromeDriver 2.43.600233 (523efee95e3d68b8719b3a1c83051aa63aa6b10d) on port 13694
Only local connections are allowed.
[1540730919.752][WARNING]: Timed out connecting to Chrome, retrying...
[1540730923.752][WARNING]: Timed out connecting to Chrome, retrying...
[1540730931.752][WARNING]: Timed out connecting to Chrome, retrying...
[1540730947.753][WARNING]: Timed out connecting to Chrome, giving up.
[1540730949.758][WARNING]: Timed out connecting to Chrome, retrying...
[1540730953.758][WARNING]: Timed out connecting to Chrome, retrying...
[1540730961.758][WARNING]: Timed out connecting to Chrome, retrying...

У меня на сервере установлены chrome-stable, default-jdk и chromedriver, поэтому теоретически это должно работать.

Вот код инициализации WebDriver

System.setProperty("webdriver.chrome.driver", "/usr/bin/chromedriver");
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");
options.addArguments("--window-size=1200x600");
options.addArguments("--no-sandbox");
options.addArguments("--start-maximized");
options.addArguments("--disable-notifications");
options.addArguments("--disable-gpu");
driver = new ChromeDriver(options);
driver.manage().window().maximize();
driver.manage().deleteAllCookies();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.manage().timeouts().pageLoadTimeout(20, TimeUnit.SECONDS);

В чем проблема? Спасибо.

Ответы [ 2 ]

0 голосов
/ 30 октября 2018

У меня возникла та же проблема с Selenium Webdriver + Jmeter на Win 10, как показано ниже. Это было приложение безопасности "Sophos" в моей системе, которое блокировало его.

Я исправил это, отключив приложение безопасности, которое официально установлено в моей системе. Теперь работает нормально.

Starting ChromeDriver 2.43.600210 (68dcf5eebde37173d4027fa8635e332711d2874a) on port 46315
Only local connections are allowed.
[1540910061.181][WARNING]: Timed out connecting to Chrome, retrying...
[1540910065.184][WARNING]: Timed out connecting to Chrome, retrying...
[1540910073.193][WARNING]: Timed out connecting to Chrome, retrying...
[1540910089.193][WARNING]: Timed out connecting to Chrome, giving up.
[1540910091.196][WARNING]: Timed out connecting to Chrome, retrying...
[1540910095.196][WARNING]: Timed out connecting to Chrome, retrying...
[1540910103.210][WARNING]: Timed out connecting to Chrome, retrying...
[1540910119.210][WARNING]: Timed out connecting to Chrome, giving up.

Убедитесь, что у вас не установлено приложение безопасности, которое может заблокировать эту программу.

0 голосов
/ 29 октября 2018

Попробуйте также добавить эти аргументы --disable-software-rasterizer --no-gpu --disable-software-rasterizer --mute-audio --hide-scrollbars - -remote-debugging-port=9222

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...