在硒中打开浏览器时发生异常

时间:2019-07-03 05:09:39

标签: java selenium selenium-webdriver selenium-chromedriver

我已经应用了所有代码并且仍然无法在硒中打开chrome浏览器。我还为壁虎驱动程序设置了属性。请检查代码并提供解决方案

我收到此错误

  

线程“主”中的异常java.lang.IllegalStateException:驱动程序可执行文件的路径必须由webdriver.chrome.driver系统属性设置;否则,必须为false。有关更多信息,请参见https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver。可以从http://chromedriver.storage.googleapis.com/index.html

下载最新版本      

com.google.common.base.Preconditions.checkState(Preconditions.java:847)           在org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:134)           位于org.openqa.selenium.chrome.ChromeDriverService.access $ 000(ChromeDriverService.java:35)           在org.openqa.selenium.chrome.ChromeDriverService $ Builder.findDefaultExecutable(ChromeDriverService.java:159)           在org.openqa.selenium.remote.service.DriverService $ Builder.build(DriverService.java:355)           在org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:94)           在org.openqa.selenium.chrome.ChromeDriver。(ChromeDriver.java:123)           在hps1.HPS.main(HPS.java:10)

HPS.java

package hps1;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class HPS {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        WebDriver driver=new ChromeDriver();

        //System.setProperty("webdriver.chrome.driver","C:\\chromedriver.exe");
System.setProperty("webdriver.chrome.driver", "C:\\chromedriver_win32\\chromedriver.exe");
        // Open 
        driver.get("http://www.facebook.com");

        // Maximize browser
         driver.manage().window().maximize();
    }

}

2 个答案:

答案 0 :(得分:3)

首先是initializing driver,然后设置系统属性,这就是它引发错误的原因。将Property setting行移到driver initialization上方将为您完成这项工作。

public static void main(String[] args) {
    System.setProperty("webdriver.chrome.driver", "C:\\chromedriver_win32\\chromedriver.exe");
    WebDriver driver=new ChromeDriver();

     // Open 
    driver.get("http://www.facebook.com");

    // Maximize browser

    driver.manage().window().maximize();

}

答案 1 :(得分:0)

看,这是第一步,您应该告诉驱动程序在哪里以及它是什么类型。

    System.setProperty("webdriver.chrome.driver", "D:\\browser_driver\\chromedriver\\chromedriver.exe");

    ChromeOptions chromeOptions = new ChromeOptions();
    chromeOptions.addArguments("--headless"); //谷歌浏览器无头模式
//  chromeOptions.addArguments("no-sandbox");//禁用沙盒
   driver= new ChromeDriver(service,chromeOptions);//使用端口

然后构建一个新的ChromeDriver是可以的。您会看到一条异常消息,告诉您该驱动程序的设置不正确,因此您应该先对其进行设置,然后再构造一个对象。