maven - 如何在没有 ChromeDriver.exe 的情况下在 Maven 中使用 selenium-chrome-driver

标签 maven google-chrome selenium selenium-webdriver maven-dependency

我为打开 Chrome 添加了以下依赖项和代码,但浏览器未打开。

<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
<version>2.50.0</version>
</dependency>

我的代码:-
package example;
import org.openqa.selenium.WebDriver;`
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;
public class DepChrome {

    @Test
    public void testBrowser() {
    WebDriver driver = new ChromeDriver();
    driver.manage().window().maximize();
    }
}

最佳答案

添加以下依赖项如下:

        <dependency>
            <groupId>io.github.bonigarcia</groupId>
            <artifactId>webdrivermanager</artifactId>
            <version>3.0.0</version>
<!--            <scope>test</scope> -->
        </dependency>
来源:从以下 URL 复制新的依赖项版本:
https://mvnrepository.com/artifact/io.github.bonigarcia/webdrivermanager
使用以下代码:
WebDriver driver = null;
WebDriverManager.chromedriver().browserVersion("77.0.3865.40").setup();
ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized"); 
options.addArguments("enable-automation"); 
options.addArguments("--no-sandbox"); 
options.addArguments("--disable-infobars");
options.addArguments("--disable-dev-shm-usage");
options.addArguments("--disable-browser-side-navigation"); 
options.addArguments("--disable-gpu"); 
driver = new ChromeDriver(options); 
driver.get("https://www.google.com/"); 
基本上下面的代码行就行了,下面的代码下载特定版本
WebDriverManager.chromedriver().browserVersion("77.0.3865.40").setup();
您可以从以下 URL 获得所需的版本:
https://chromedriver.storage.googleapis.com/index.html
如果您正在寻找上述 chromedriver URL 上存在的最新依赖项,您也可以使用下面的代码而不是上面的代码
WebDriverManager.chromedriver().setup();

或(旧方式)
您需要提供 chrome 二进制文件的路径,如下所示:
System.setProperty("webdriver.chrome.driver", "C:\\pathto\\my\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://www.google.com");
从 selenium 站点下载 chrome 的二进制文件,如下所示:-
http://chromedriver.storage.googleapis.com/index.html?path=2.21/
现在将二进制文件的路径提供给 selenium 为:-
System.setProperty("webdriver.chrome.driver", "C:\\pathto\\my\\chromedriver.exe");
还有一件事需要注意。如果您使用的是 Windows,则使用反斜杠 \\如果您使用的是 mac 或 linux,则使用正斜杠 //用于设置路径。
希望它会帮助你:)

关于maven - 如何在没有 ChromeDriver.exe 的情况下在 Maven 中使用 selenium-chrome-driver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35867102/

相关文章:

java - 为什么 Maven 在 target 和 groupId 目录中为相同的源创建两个 jar

java - Maven 无法通过 `mvn exec:java` 调用编译 java 代码 (java.lang.ClassNotFoundException)

java - 使用Slf4j和logback时如何抑制jboss日志记录?

javascript - 如何规范化 CSSStyleDeclaration 对象的单位?

selenium - Webdriver (c#) - 可能通过文本查找按钮

java - 禁用 Maven 内部版本号插件

javascript - 如何从桌面 chrome 检查器查看 firebase 流量

html - CSS 下拉菜单隐藏在 Google Chrome 中的 Flash(仅)下。

java - 无法单击 ExtJS 下拉按钮并选择列表元素 - Selenium Webdriver Java

c# - 以编程方式启动 Selenium 测试