我已经安装了Ruby 2,devkit&的Watir。
当我运行一个简单的脚本时:
require 'rubygems'
require 'watir'
require 'watir-webdriver'
ie = Watir::IE.new
ie.goto("http://www.google.com")
我收到以下错误:
uninitialized constant Watir::IE (NameError)
然后我尝试了ie = Watir::Browser.new
而不是ie = Watir::IE.new
仍然有错误:
cannot load such file watir-classic (loaderror)
然后我尝试安装watir-classic,再次收到错误:
extconf.rb
libxml2 is missing
有人可以帮我解决这个问题吗?
答案 0 :(得分:4)
您没有安装watir-webdriver(或至少列在您的宝石列表结果中)。
gem install watir-webdriver
剧本:
require 'watir-webdriver'
ie = Watir::Browser.new :ie
ie.goto("http://www.google.com")
如果您更喜欢watir-classic,可以在此处找到安装和快速入门信息:https://github.com/watir/watir-classic
答案 1 :(得分:4)
根据错误,我的猜测是watir-classic无法安装nokogiri gem。 Nokogiri目前不支持Windows上的Ruby x64 - 请参阅https://github.com/sparklemotion/nokogiri/issues/864。
你可以尝试两件事:
使用32位Ruby(如Nokogiri问题中所述)
使用IE以外的浏览器。默认情况下,Browser.new
将使用watir-classic启动IE。使用其他浏览器之一将使用watir-webdriver,我认为这不依赖于nokogiri。
示例:
require 'watir'
browser = Watir::Browser.new :chrome
browser.goto("http://www.google.com")
答案 2 :(得分:0)
在你的代码中删除require'watir-webdriver'并添加require'watir-classic'。所以,您的代码应如下所示:
require 'rubygems'
require 'watir'
require 'watir-classic'
ie = Watir::IE.new
ie.goto("http://www.google.com")
警告通知:不推荐使用Watir :: IE常量,而是使用Watir :: Browser 在这种情况下,不需要'watir-classic'。以下代码应该有效:
require 'rubygems'
require 'watir'
#require 'watir-classic'
#ie = Watir::IE.new
ie = Watir::Browser.new
ie.goto("http://www.google.com")