Это сообщение об ошибке ...
![snapshot](https://i.stack.imgur.com/ansgc.png)
... означает, что ChromeDriver не смог инициировать / создать новый контекст просмотра ie Chrome Браузер сеанс.
Глубокое погружение
Просмотр предоставленного вами снимка трассировки стека ошибок, хотя вы упомянули об использовании ChromeDriver 81.0.4044.69 и Google Chrome 81.0.4044.129 , но, похоже, есть несоответствие между версиями различных двоичных файлов, которые вы используете, возможно Chrome браузер не установлен по умолчанию в вашей системе или из-за несоответствия JDK. Кроме того, ChromeDriver 81.0.4044.69 (2020-03-17) был немного нестабильным, и его заменили ChromeDriver 81.0.4044.138 (2020-05-05)
Однако сервер, то есть ChromeDriver , ожидает, что у вас будет установлен Chrome в местоположении по умолчанию для каждой системы, как показано на изображении ниже:
![Chrome_binary_expected_location](https://i.stack.imgur.com/LJW5N.png)
1 Для систем Linux ChromeDriver ожидает, что /usr/bin/google-chrome
будет символической ссылкой на фактический двоичный файл Chrome.
Вы можете найти подробное обсуждение в Какое расположение ChromeDriver по умолчанию и для установки Chrome на Windows
Решение
Если вы используете исполняемый файл Chrome в нестандартном месте, вам необходимо переопределить Chrome двоичное расположение следующим образом:
Решение на основе кода:
System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
ChromeOptions options = new ChromeOptions();
options.setBinary('/usr/bin/google-chrome'); //chrome binary location
options.addArguments("--headless");
options.addArguments("--no-sandbox");
options.addArguments("--disable-dev-shm-usage");
WebDriver driver = new ChromeDriver(options);
driver.get("https://www.google.com/");
//execute the remaining steps
driver.quit();
Дополнительные соображения - убедитесь в следующем:
- JDK обновлен до текущих уровней JDK 8u251 .
- Selenium обновлен до текущих уровней Версия 3.141.59 .
- ChromeDriver обновлен до текущего ChromeDriver v81.0.4044.138 уровня.
- Chrome обновлен до текущий Chrome Версия 81.0.4044.138 уровень. (согласно примечания к выпуску ChromeDriver v80.0 )
- Очистите вашу рабочую область проекта с помощью IDE и Перестройте ваш проект только с необходимыми зависимостями.
- Выполните
@Test
как не root пользователя. - Всегда вызывать
driver.quit()
внутри tearDown(){}
метод закрытия и уничтожения экземпляров WebDriver и Web Client .
Ссылки
Вы можете найти пару соответствующих обсуждений в: