3

不知道的朋友,c9是一个使用云的在线IDE。所以我正在尝试将 FireFox 与 Watir 一起使用,而我得到的错误是

“找不到 Firefox 二进制文件 (os=linux)。确保已安装 Firefox 或使用 Selenium::WebDriver::Firefox::Binary.path 手动设置路径 =”

当我在我的 PC 上检查 FireFox 的文件路径时,它是 This 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
4

1 回答 1

1

尝试添加以下代码:

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

此外,您需要添加 geckodriver,因为更高版本的 firfox 不支持没有 geckodriver

从以下 URL 下载 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");
于 2017-09-13T05:27:20.723 回答