java - ChromeDriver服务: Builder cannot be resolved

标签 java maven selenium selenium-webdriver selenium-chromedriver

当我尝试从示例加载此代码时,存在依赖性问题。可能唯一的区别是我使用 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/

相关文章:

python - Selenium Python webscraper 真的很慢

java - JAXB Unmarshaller - 意外的元素异常

java - Fragment 当前不在 FragmentManager 中

java - Liferay 门户的问题与解答 portlet

java - Catch 跟随 Java 中的 Finally block

java - gitlab-CI 不使用 maven 和 java 10 构建?

java - 在 Maven 和 Java 9 中使用带有拆分包的第三方 Artifact

maven - 为什么 Maven 会在本地 Nexus 之前尝试从 repo1,maven.org 下载?

python - 如何使用 Python 和 Selenium WebDriver 获取 localStorage

python selenium 多个测试用例