当我尝试从示例加载此代码时,存在依赖性问题。可能唯一的区别是我使用 Maven 来加载依赖项。我已经包含了所需的测试库并下载了 chromedriver.exe。
还可以缺少什么吗?
下面的依赖错误是由 ChromeDriverService.Builder()
触发的:
无法解析类型 org.openqa.selenium.remote.service.DriverService$Builder。它是从所需的.class文件间接引用的
这里加载了 ChromeDriverService.Builder()
类:
@BeforeClass
public static void createAndStartService() {
service = new ChromeDriverService.Builder()
.usingChromeDriverExecutable(new File("chromedriver.exe"))
.usingAnyFreePort()
.build();
service.start();
}
这是我用于测试的 Maven 依赖项:
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-support</artifactId>
<version>2.44.0</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.48.2</version>
</dependency>
最佳答案
您需要添加 org.seleniumhq.selenium:selenium-chrome-driver
作为依赖项(我还建议您创建所有 org.seleniumhq.selenium
依赖项使用相同版本):
例如
<properties>
<selenium.version>2.48.2</selenium.version>
</properties>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-support</artifactId>
<version>${selenium.version}</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>${selenium.version}</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
<version>${selenium.version}</version>
</dependency>
</dependencies>
关于java - ChromeDriver服务: Builder cannot be resolved,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34095684/