我在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位。
答案 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中的等效文件。
两种方式:
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安装位置设置为路径的详细信息 https://stackoverflow.com/a/26947536
参考文献:
答案 2 :(得分:1)
我会把它作为一个评论,但是,由于我相对较新,我不得不把它作为一个答案,它很可能是......
请原谅我,如果我问明显,但是,你试过"解压缩"文件并放入" .exe"文件到那个目录?你提到的文件(你说..标题为" chromedriver_win32.zip")不是Windows中的可执行文件。您应该查找的文件是chromedriver.exe。