这是一个奇怪的错误。在将硒依赖项添加到我的maven项目的pom并将其上传到lambda之后,它说无法解压缩文件。但是,在删除依赖项之后,lambda能够很好地解压缩文件(但是它附带了后来未找到的类)。我尝试过一个一个地删除依赖项,但每个依赖项都会触发错误。
关于如何解决这个问题的任何想法?
找不到类错误
org/openqa/selenium/WebDriver: java.lang.NoClassDefFoundError
java.lang.NoClassDefFoundError: org/openqa/selenium/WebDriver
Run Code Online (Sandbox Code Playgroud)
Lambda无法压缩错误
Calling the invoke API action failed with this message: Lambda was not able to unzip the file
Run Code Online (Sandbox Code Playgroud)
导致问题的依赖项
<dependency>
<groupId>org.seleniumhq.webdriver</groupId>
<artifactId>webdriver-common</artifactId>
<version>0.9.7376</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
<version>3.141.59</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
更新的依赖关系(对于Vishal)
<dependency>
<groupId>org.seleniumhq.webdriver</groupId>
<artifactId>webdriver-common</artifactId>
<version>0.9.7376</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
<version>3.141.59</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-api</artifactId>
<version>2.0rc2</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-remote-driver</artifactId>
<version>3.141.59</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-support</artifactId>
<version>3.141.59</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
组态
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration> …Run Code Online (Sandbox Code Playgroud) 我不知道我做错了什么,但由于某种原因,尽管我使用 WebDriverManager,但它无法找到 chrome 二进制文件。我将日志放在下面以供参考,但据说它找不到二进制文件(或者无法下载二进制文件?)我到处都发现了类似的问题,但似乎没有一个解决方案有效。
设置
WebDriverManager.chromedriver()
.targetPath("/tmp")
.setup();
ChromeOptions options = new ChromeOptions();
options.addArguments(
"--no-sandbox",
"--disable-gpu",
"--enable-javascript",
"disable-infobars",
"--disable-dev-shm-usage",
"--disable-extensions",
"--headless",
"--user-data-dir=/tmp/user-data",
"--data-path=/tmp/data-path",
"--homedir=/tmp",
"--disk-cache-dir=/tmp/cache-dir",
"window-size=1400,600",
"log-level=3");
this.driver = (WebDriver) new ChromeDriver(options);
this.driver.manage().deleteAllCookies();
this.driver.manage().window().fullscreen();
Run Code Online (Sandbox Code Playgroud)
聚甲醛
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.10.0</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.webdriver</groupId>
<artifactId>webdriver-common</artifactId>
<version>0.9.7376</version>
</dependency>
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>3.7.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
日志
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Nov 01, 2019 9:41:27 AM java.util.prefs.FileSystemPreferences$1 run
WARNING: Couldn't create …Run Code Online (Sandbox Code Playgroud) java selenium selenium-chromedriver aws-lambda webdrivermanager-java