在Windows 10机器上运行的应用程序无法找到文件

时间:2016-10-24 18:47:27

标签: ruby-on-rails windows selenium webdriver selenium-chromedriver

我在Linux计算机上使用chromedriver创建了一个应用程序,然后将应用程序切换到Windows 10计算机。现在突然它告诉我它找不到chromedriver文件。

这是错误:

Selenium::WebDriver::Error::WebDriverError in Static#home
Showing C:/Users/User/Documents/test_app/app/views/static/home.html.erb where line #4 raised:

    Unable to find chromedriver. Please download the server from        http://chromedriver.storage.googleapis.com/index.html and place it        somewhere on your PATH. More info at https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver.

我将chromedriver文件放在我的Linux机器上的相同位置,就在应用程序的主文件夹中。在这种情况下,路径为C:\Users\User\Document\test_app。 Windows解释路径的方式与Linux不同吗?

chromedriver是latest release。它的标题是“chromedriver_win32.zip”。 “胜利”意味着Windows。 “32”是否意味着它适用于32位系统?我的机器是64位。

3 个答案:

答案 0 :(得分:4)

如果将chromedriver.exe放在与脚本位于同一文件夹中的文件夹Chromedriver_win32.zip中,则可以将driver_path设置为该文件。请参阅以下代码:

require "selenium-webdriver"

Selenium::WebDriver::Chrome.driver_path = File.join(File.absolute_path('./', "Chromedriver_win32.zip/chromedriver.exe"))    
driver = Selenium::WebDriver.for :chrome
driver.get "https://www.google.com.sg/"

答案 1 :(得分:3)

我对ruby或ruby-on-rails没有任何了解。请在Windows操作系统中找到java或python中的等效文件。

两种方式:

  1. 您可以将Chrome驱动程序保存在 PATH 变量(Windows 10中的环境变量)中
  2. 的位置
  3. 以编程方式设置可执行文件chromedriver.exe
  4. 的路径

    对于Java

     System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
    

    对于Python :(我们将chromedriver.exe保存在C:\Python27\Scripts位置。安装python(Activestate)时,此位置已添加到PATH变量中。以防chromedriver.exe为不在其中一个PATH位置,您可以指定如下)

    driver = webdriver.Chrome('/path/to/chromedriver')  # Optional argument, if not specified will search path.
    

    对于Ruby:

    将ruby安装路径添加到Windows PATH环境变量,并将chromedriver.exe保留在该位置。 (Windows在PATH变量中指定的位置搜索二进制文件。)

    有关将ruby安装位置设置为路径的详细信息 https://stackoverflow.com/a/26947536

    参考文献:

    1. https://sites.google.com/a/chromium.org/chromedriver/getting-started

答案 2 :(得分:1)

我会把它作为一个评论,但是,由于我相对较新,我不得不把它作为一个答案,它很可能是......

请原谅我,如果我问明显,但是,你试过"解压缩"文件并放入" .exe"文件到那个目录?你提到的文件(你说..标题为" chromedriver_win32.zip")不是Windows中的可执行文件。您应该查找的文件是chromedriver.exe。