Ruby selenium webdriver无法找到Mozilla geckodriver

use*_*505 12 ruby bash selenium ruby-on-rails ubuntu-16.04

我在我的开发目录中安装了geckodriver

ls | grep geckodriver
geckodriver
geckodriver-v0.11.1-linux64.tar.gz
Run Code Online (Sandbox Code Playgroud)

我还导出了$ PATH变量

export PATH=$PATH:~/Development/geckodriver
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在我的项目的rails控制台上初始化webdriver的一个实例时,我得到了这个

driver = Selenium :: WebDriver.for:firefox

Selenium :: WebDriver :: Error :: WebDriverError:无法找到Mozilla geckodriver.请从https://github.com/mozilla/geckodriver/releases下载服务器并将其放在PATH上的某个位置.更多信息,访问https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver 这里有什么问题.

kar*_*jan 20

你有的selenium-webdriver-3.0.0.beta3.1只适用于Firefox 48及更高版本(尚未正常工作).回退到selenium-webdriver版本2.53.4并再试一次.

并尝试这个..

  • 在终端更改目录路径中,指向安装gem的目录
  • gem uninstall selenium-webdriver
  • gem install selenium-webdriver -v 2.53.4

  • @ user2968505你的问题是什么? (2认同)

gab*_*ess 9

你必须确保它geckodriver在你的PATH.

在我的情况下,你可以看到/usr/local/bin已经在我的路径中:

$echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin:/usr/local/mysql/bin
Run Code Online (Sandbox Code Playgroud)

所以简单地geckodriver进入/usr/local/bin使它可以访问.

mv geckodriver /usr/local/bin/
Run Code Online (Sandbox Code Playgroud)

  • 超级..我们应该将其添加为 mac 的强制步骤;) 在设置本身中 (2认同)

rad*_*lov 5

现在,您可以转到selenium-webdriver 3.4.3最新版本。但是,您仍然需要GeckoDriver,因为FF中没有Selenium的本机扩展。您也可以将geckodriver-helpergem 添加到GemFile中。检查https://github.com/DevicoSolutions/geckodriver-helper

请注意,使用Selenium3和FF48 +组合时,仍有一些问题必须解决,这可能会影响双击和模态窗口等测试。