启动Chrome浏览器

时间:2013-05-18 23:46:41

标签: selenium-webdriver

我正在尝试使用webdriver启动chrome浏览器(版本26.0)。 我收到以下错误消息。

Exception in thread "main" java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, see http://code.google.com/p/selenium/wiki/ChromeDriver. 
    at com.google.common.base.Preconditions.checkState(Preconditions.java:176)
    at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:105)
    at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:69)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:107)
    at googleSearch.main(googleSearch.java:13)

我使用的代码:

driver = new ChromeDriver();
driver.navigate().to("http://www.google.com/");

我使用mac 10.8.2。

4 个答案:

答案 0 :(得分:5)

为此,您需要:

  1. 安装Chrome
  2. 安装Chrome网络驱动程序
  3. 确保您的路径中有chrome web驱动程序,例如在Windows上指向chromedriver2_win32_0.8的内容。您可以通过以下任一方式将其放在路径中:(a)修改Windows路径环境变量,或; (b)将以下内容添加到java命令行选项中:
    -Dwebdriver.chrome.driver='/path/to/driver'
  4. 使用硒网格的情况 -Dwebdriver.chrome.driver='/path/to/driver' 必须在从命令行创建节点时添加。

答案 1 :(得分:1)

1)如果使用不含GRID的硒:

 System.setProperty("webdriver.chrome.driver","/absolute/path/to/chromedriver");
 driver =  new ChromeDriver();

完成这项工作。

2)如果使用含GRID的硒:

System.setProperty("webdriver.chrome.driver","/absolute/path/to/chromedriver");
driver =  new ChromeDriver();

从命令行开始,在为chrome浏览器创建节点时,需要传递

-Dwebdriver.chrome.driver='/absolute/path/to/chromedriver'

以上两个更改为我完成了这项工作,除此之外我得到了这个libnss3.so找不到错误,我通过在/ usr / lib /中创建一个libnss3.so的符号链接来解决x86_64-linux-gnu /文件夹到/ usr / lib /

ln -s /usr/lib/x86_64-linux-gnu/libnss3.so /usr/lib/libnss3.so

PS:还要确保根据您的系统使用64位或32位版本的Chrome驱动程序。

答案 2 :(得分:0)

要使chrome与selenium-webdriver一起使用,您不仅需要安装有效的Chrome浏览器,还需要chromedriver可执行文件。请注意,这些是需要指定的两个不同的可执行文件。

答案 3 :(得分:0)

更改文件的权限,然后再次运行您的代码。 打开命令提示符并导航到chrome exe存在的目录并写入

chmod 777 filename

希望它能解决你的问题。