4

我已经安装了 Ruby 2、devkit 和 Watir。

  • 环境:操作系统win7(64位)</li>
  • 安装文件:
    • rubyinstaller-2.0.0-p0-x64.exe
    • DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe
  • 宝石列表结果的一部分:
    • 常见的 4.0.0
    • 等待 4.0.0
    • win32 进程 0.6.6

当我运行一个简单的脚本时:

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

谁能帮我解决这个问题?

4

3 回答 3

4

您没有安装 watir-webdriver(或至少在您的 gem 列表结果中列出)。

gem install watir-webdriver

剧本:

require 'watir-webdriver'
ie = Watir::Browser.new :ie
ie.goto("http://www.google.com")

来源:http ://watirwebdriver.com

如果您更喜欢 watir-classic,可以在此处找到安装和快速入门信息:https ://github.com/watir/watir-classic

于 2013-04-08T16:04:25.203 回答
4

根据错误,我的猜测是 watir-classic 无法安装 nokogiri gem。Nokogiri 目前不支持 Windows 上的 Ruby x64 - 请参阅https://github.com/sparklemotion/nokogiri/issues/864

您可以尝试两件事:

  1. 使用 32 位 Ruby(如 Nokogiri 问题中所建议的)

  2. 使用 IE 以外的浏览器。默认情况下,Browser.new将使用 watir-classic 启动 IE。使用其他浏览器之一将使用 watir-webdriver,我认为它不依赖于 nokogiri。

例子:

require 'watir'
browser = Watir::Browser.new :chrome
browser.goto("http://www.google.com")
于 2013-04-09T03:41:28.950 回答
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")
于 2014-12-23T05:35:35.733 回答