【问题标题】:Chromedriver couldn't open chrome browser on AWS EC2Chromedriver 无法在 AWS EC2 上打开 chrome 浏览器
【发布时间】:2019-01-21 20:17:57
【问题描述】:

我正在尝试运行简单的 Java 代码来在 AWS 上设置 EC2 机器,其纯粹目的是运行 selenium。

我的本​​地 (MAC) 上的相同代码可以正常工作,只需更改 chrome 路径

我可以独立启动 chromedriver 和 google-chrome 而不会出现问题。

  • chromedriver 版本 - 71.0.3578.80

  • 谷歌浏览器 71.0.3578.98

这是Java代码

import java.io.IOException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;

public class TecAdminSeleniumTest {

    public static void main(String[] args) throws IOException, InterruptedException {
            System.setProperty("webdriver.chrome.driver", "/usr/bin/chromedriver");
            ChromeOptions chromeOptions = new ChromeOptions();
            chromeOptions.addArguments("--headless");
            chromeOptions.addArguments("--no-sandbox");

            WebDriver driver = new ChromeDriver(chromeOptions);

            driver.get("https://google.com");

            Thread.sleep(1000);

            if (driver.getPageSource().contains("I'm Feeling Lucky")) {
                    System.out.println("Pass");
            } else {
                    System.out.println("Fail");
            }
            driver.quit();
    }
}

观察到错误:

Build info: version: '2.39.0', revision: 'ff23eac', time: '2013-12-16 16:11:15'
System info: host: 'XXXXXXX', ip: 'XXXXXX', os.name: 'Linux', os.arch: 'amd64', os.version: '4.14.77-70.59.amzn1.x86_64', java.version: '1.8.0_25'

我不断收到以下异常:

Driver info: org.openqa.selenium.chrome.ChromeDriver
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:193)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:554)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:216)
at org.openqa.selenium.chrome.ChromeDriver.startSession(ChromeDriver.java:182)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:111)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:115)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:161)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:150)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:139)

【问题讨论】:

  • 异常信息是什么?堆栈跟踪在那里,它显然无法启动驱动程序,但异常本身是什么?

标签: linux selenium google-chrome amazon-ec2 selenium-chromedriver


【解决方案1】:

此错误消息...

Build info: version: '2.39.0', revision: 'ff23eac', time: '2013-12-16 16:11:15' System info: host: 'XXXXXXX', ip: 'XXXXXX', os.name: 'Linux', os.arch: 'amd64', os.version: '4.14.77-70.59.amzn1.x86_64', java.version: '1.8.0_25'

...暗示您使用的二进制文件版本之间存在一些不兼容,如下所示:

  • 您的 Selenium Client 版本是 2013-12-16 16:11:152.39.0,高于 5 岁以上
  • 您的 JDK 版本1.8.0_25,相当古老。

所以 JDK v8u25Selenium Client v2.39

之间存在明显的不匹配

解决方案

【讨论】:

    猜你喜欢
    • 2021-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-06
    • 1970-01-01
    • 2013-05-08
    相关资源
    最近更新 更多