Reputation: 13342
System.setProperty("webdriver.chrome.driver", "/usr/bin/google-chrome");
final ChromeOptions chromeOptions = new ChromeOptions();
//chromeOptions.addArguments("headless");
chromeOptions.addArguments("window-size=1200x600");
final DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
desiredCapabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
final URL url = new URL("https://the-internet.herokuapp.com/login");
final WebDriver driver = new RemoteWebDriver(url, desiredCapabilities);
fails as:
Exception in thread "main" org.openqa.selenium.WebDriverException: Unable to parse remote response:
Not Found
Any idea why?
Followed: How to connect to Chromium Headless using Selenium
Upvotes: 1
Views: 18349
Reputation: 3461
What are the versions of your Chrome browser, chromedriver and Selenium? I tried with:
The following code:
System.setProperty("webdriver.chrome.driver", "/pathTo/chromedriver);
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--headless");
ChromeDriver driver = new ChromeDriver(chromeOptions);
driver.get("https://the-internet.herokuapp.com/login");
System.out.println(driver.getTitle());
Note: In current versions of Selenium and ChromeDriver replace:
chromeOptions.addArguments("--headless");
with
chromeOptions.setHeadless(true);
Ref: https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/chrome/ChromeOptions.html#setHeadless-boolean- Also you must set Window size otherwise it renders in mobile mode and you may not get certain elements in the page.
chromeOptions.addArguments("--window-size=1200x600");
Tested on chromedriver 2.42.591071 with Selenium 3.14.0
The output:
The Internet
Take a look to Getting Started with Headless Chrome about the browser support versions.
Upvotes: 5
Reputation: 686
options.addArguments("headless");
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
This worked for me. Chromedriver Version:2.37
Upvotes: 1