Не удалось запустить браузер (Chrome, Edge и т. д.) У меня последняя сборка Chrome : 126
, Selenium : 4.22.0
, java.version: '22.0.1'
.
Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.
Host info: host: 'DESKTOP-KT75J6U', ip: '192.168.1.37'
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:536)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:232)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:161)
at org.openqa.selenium.chromium.ChromiumDriver.<init>(ChromiumDriver.java:114)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:88)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:83)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:51)
at framework.BrowserTest.main(BrowserTest.java:9)
Caused by: org.openqa.selenium.WebDriverException: Timed out waiting for driver server to bind the port.
Build info: version: '4.22.0', revision: 'c5f3146703*'
System info: os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '22.0.1'
Driver info: driver.version: ChromeDriver
at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:249)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:117)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:518)
... 7 more
Можете ли вы поделиться фрагментом кода того, как инициализируется драйвер?
Привет, пожалуйста, посмотрите. импортировать org.openqa.selenium.WebDriver; импортировать org.openqa.selenium.chrome.ChromeDriver; общественный класс BrowserTest {public static void main(String[] args) {драйвер WebDriver = новый ChromeDriver(); driver.get("google.com"); } } В файле pom у меня есть Java Selenium - 4.22.0
У вас загружен хромдрайвер на машину? или вы используете WebDriverManager или SeleniumManager для управления этими исполняемыми файлами?
Я попробовал оба способа: я скачал стабильную версию 126 chromedriver.exe, установил системное свойство и попытался запустить тест, но не удалось (не удалось запустить браузер). Позже я удалил его, использовал SeleniumManager для его запуска, произошло то же самое. (Загруженные двоичные файлы) но не смог запустить браузер.
где-то ваш хром настроен на использование удаленного драйвера вместо локального. В моем случае это была дополнительная зависимость, которую я удалил.
org.seleniumhq.selenium:selenium-remote-driver
Еще одно место, на которое стоит обратить внимание: как оказалось, в Selenium недостаточно хорошая обработка ошибок. Рекомендую еще раз проверить, правильно ли настроен путь к бинарнику. ВАЖНО: как я обнаружил, путь не должен содержать пробелов и специальных символов. Если они есть, то вылетает с очень непонятной ошибкой
var options = new ChromeOptions();
options.setBinary("/path/to/chromium/chromium.app/Contents/MacOS/chromium");
для людей, которые столкнулись с той же проблемой, есть одна загвоздка: они не используют версию Java 22, используйте Java 17
Что может быть причиной? Любые предложения приветствуются.