我在执行中有这个代码和一个问题(代码下的描述)
try {
ChromeOptions options = new ChromeOptions();
options.setBinary("/usr/bin/chromium-browser");
options.addArguments("--start-maximized");
options.addArguments("headless");
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setBrowserName("chrome");
capabilities.setPlatform(Platform.LINUX);
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
WebDriver driver = null;
// here throws exception
driver = new RemoteWebDriver(new URL("http://127.0.0.1:4444/wd/hub"), capabilities);
}catch (Exception ex){
int point = 0;
}
我用:
当我创建RemoteWebDriver时,我收到此错误: 例外:未知错误:Chrome无法启动:崩溃
启动selenium-server的命令
DISPLAY=:1 xvfb-run java -Dwebdriver.chrome.driver="/home/builds/chromedriver" -jar /home/builds/selenium-server-standalone-3.7.1.jar
该方案的哪些部分可能是所述错误的原因?
答案 0 :(得分:0)
首先,您输入的所有参数都是无头的。
--headless
而非headless
使用以下代码
options.addArguments("--headless");
你需要传递System.setProperty
的另一件事如下:
System.setProperty("webdriver.chrome.driver","E:\\Selenium\\src\\libs\\chromedriver.exe");
从我这边工作的代码是:
try {
System.setProperty("webdriver.chrome.driver","E:\\Selenium\\Workplace\\Selenium\\src\\libs\\chromedriver.exe");
ChromeOptions options = new ChromeOptions();
// options.setBinary("/usr/bin/chromium-browser");
options.addArguments("--start-maximized");
options.addArguments("--headless");
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setBrowserName("chrome");
capabilities.setPlatform(Platform.WINDOWS);
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
WebDriver driver = new ChromeDriver(capabilities);
driver.get("http://google.com");
}catch (Exception ex){
int point = 0;
}
}