如何使用 Java + ChromeDrive 在 AWS Lambda 中运行 Google Chrome 进行硒测试



我使用以下版本:

  • 硒 - 3.14.0
  • 网络驱动程序管理器 - 2.2.4

要创建ChromeDriver,我使用以下配置:

WebDriverManager.chromedriver()
.targetPath("/tmp")
.setup();
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless", "--no-sandbox", "--disable-dev-shm-usage");
options.setBinary("/tmp");
ChromeDriver driver = new ChromeDriver(options);

当我运行我的 lambda 时,会发生以下异常(来自 lambda 日志(:

org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: exited abnormally (unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /tmp is no longer running, so ChromeDriver is assuming that Chrome has crashed.)

有没有一种好方法可以在AWS Lambda中安装Chrome浏览器并为ChromeDriver提供它?

ChromeOptions的方法setBinary()应该用于设置Chrome浏览器的路径。问题是你正在使用设置Chromedriver(即Selenium WebDriver与Chrome通信所需的二进制文件(由WebDriverManager下载的路径。因此,您需要删除该行:

options.setBinary("/tmp");

相关内容

最新更新