【问题标题】:App running on Windows 10 machine can't find file在 Windows 10 机器上运行的应用程序找不到文件
【发布时间】:2016-10-24 18:47:27
【问题描述】:

我有一个在 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 位的。

【问题讨论】:

  • 异常中的PATH 指的是环境变量。您的问题可能是因为当前目录不是C:\Users\User\Document\test_app
  • @FlorentB。我肯定在那个确切的目录中运行我的 rails 服务器。我不使用 chromedriver 的页面都可以正常工作。

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


【解决方案1】:

如果您将 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/"

【讨论】:

    【解决方案2】:

    我对 ruby​​ 或 ruby​​-on-rails 没有任何知识。请在 Windows 操作系统中找到 java 或 python 中的等价物。

    两种方式:

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

    对于 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​​ 安装位置设置为 PATH 的更多信息 https://stackoverflow.com/a/26947536

    参考资料:

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

    【讨论】:

      【解决方案3】:

      我会将此作为评论,但是,由于我比较新,我不得不将其作为答案,它很可能是......

      如果我问的是显而易见的问题,请原谅我,但是,您是否尝试“解压缩”文件并将“.exe”文件放入该目录?您提到的文件(您说..标题为“chromedriver_win32.zip”)不是Windows中的可执行文件。您应该查找的文件是 chromedriver.exe。

      【讨论】:

      • 是的,我解压缩了它。 “Chromedriver_win32.zip”是解压后文件夹的标题。
      • 对不起,我的意思是说“Chromedriver_win32.zip”是ZIPPED文件夹的标题。
      猜你喜欢
      • 1970-01-01
      • 2021-08-08
      • 2016-09-14
      • 2016-03-14
      • 1970-01-01
      • 2017-09-16
      • 1970-01-01
      • 1970-01-01
      • 2021-02-19
      相关资源
      最近更新 更多