使用c9时如何在Rails中设置Firefox Binary的路径?

时间:2017-09-13 05:23:19

标签: ruby-on-rails selenium firefox c9.io

对于那些不了解的人来说,c9是一个使用云的在线IDE。所以我正在尝试使用带有Watir的FireFox,我得到的错误是

  

"找不到Firefox二进制文件(os = linux)。确保Firefox是   手动安装或设置路径   硒::的webdriver ::火狐:: Binary.path ="

当我在我的电脑上检查FireFox的文件路径时,这是PC / Windows(C:)/ Program Files / Mozilla FireFox

这是我正在使用的代码

def save
    require 'watir'
    require 'firefox'

    @browser = Watir::Browser.new :firefox
    @browser.goto "https://kroger.softcoin.com/programs/kroger/digital_coupons/?origin=DigitalCoupons&banner=Smiths#contentBox"

    @browser.div(id: "contentBox").wait_until(&:present?).text

    # Could not find Firefox binary (os=linux). 
    # Make sure Firefox is installed or set the path manually with 
    # Selenium::WebDriver::Firefox::Binary.path=
    # ThisPC:WindowsC:ProgramFiles:MozillaFireFox

    @products = @browser.divs

end

1 个答案:

答案 0 :(得分:1)

尝试添加以下代码:

require 'selenium-webdriver'
Selenium::WebDriver::Firefox::Binary.path='C:/Program Files/Mozilla FireFox/firefox.exe'

另外你需要添加geckodriver作为更高版本的firfox不支持geckodriver

从以下网址下载geckodriver: -

https://github.com/mozilla/geckodriver/releases

您还需要添加geckodrover的路径,如下所示:

export PATH=$PATH:/path/to/geckodriver

参考:

https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver

另请参阅: -

https://github.com/SeleniumHQ/selenium/wiki/Ruby-Bindings

对我有用的java代码如下:

System.setProperty("webdriver.gecko.driver", "C:\\abc\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.manage().window().maximize();
driver.get("http://gmail.com");