对于那些不了解的人来说,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
答案 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");