一尘不染

如何在没有ChromeDriver.exe的Maven中使用Selenium-chrome-driver

selenium

我为打开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();
    }
}

阅读 461

收藏
2020-06-26

共1个答案

一尘不染

添加以下依赖项,如下所示:

        <dependency>
            <groupId>io.github.bonigarcia</groupId>
            <artifactId>webdrivermanager</artifactId>
            <version>3.0.0</version>
<!--            <scope>test</scope> -->
        </dependency>

来源:从以下网址复制新的依赖项版本:

https://mvnrepository.com/artifact/io.github.bonigarcia/webdrivermanager

使用以下代码:

WebDriver driver = null;
WebDriverManager.chromedriver().version("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().version("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");

从硒站点下载chrome二进制文件,如下所示:-http
:
//chromedriver.storage.googleapis.com/index.html?path=2.21/

现在提供从二进制到硒的路径:

System.setProperty("webdriver.chrome.driver", "C:\\pathto\\my\\chromedriver.exe");

还有一件事情要注意。如果使用的是Windows,则使用反斜线\\;如果使用的是Mac或linux,则使用正斜线//来设置路径。

希望它能对您有所帮助:)

2020-06-26