Search code examples
google-chromeselenium-webdriverselenium-chromedriverselenium-edgedriver

1SessionNotCreatedException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure


Could not launch the browser (Chrome, Edge, etc) I have latest build of 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

Solution

  • somewhere your chromium is configured to use a remote driver instead of a local one. In my case, it was an extra dependency that I removed

    org.seleniumhq.selenium:selenium-remote-driver

    Another place to look, as it turned out, Selenium does not have a good enough error handling. I recommend double-checking whether the path to the binary is set up correctly. IMPORTANT: as I discovered, the path should not have spaces or special characters. If there are any, it crashes with a very vague error

    var options = new ChromeOptions();        
    options.setBinary("/path/to/chromium/chromium.app/Contents/MacOS/chromium");