首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行简单的watir脚本时出错:未初始化的常量Watir::IE (NameError)

运行简单的watir脚本时出错:未初始化的常量Watir::IE (NameError)
EN

Stack Overflow用户
提问于 2013-04-08 09:04:36
回答 3查看 5.7K关注 0票数 4

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

  • 环境: OS win7(64位)
  • 安装文件:

代码语言:javascript
复制
- rubyinstaller-2.0.0-p0-x64.exe
- DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe

  • 创业板名单的部分结果:

代码语言:javascript
复制
- commmonwatir 4.0.0
- watir 4.0.0
- win32-process 0.6.6

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

代码语言:javascript
复制
require 'rubygems'
require 'watir'
require 'watir-webdriver' 
ie = Watir::IE.new
ie.goto("http://www.google.com")

我得到了以下错误:

代码语言:javascript
复制
uninitialized constant Watir::IE (NameError)

然后,我尝试了ie = Watir::Browser.new,而不是ie = Watir::IE.new仍然有错误:

代码语言:javascript
复制
cannot load such file watir-classic (loaderror)

然后,我尝试安装watir-经典,再次出错:

代码语言:javascript
复制
extconf.rb
libxml2 is missing

有人能帮我解决这个问题吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-04-09 03:41:28

基于这一错误,我猜watir-经典没有安装nokogiri宝石。Nokogiri目前不支持Windows x64 -参见https://github.com/sparklemotion/nokogiri/issues/864

你可以尝试两件事:

  1. 使用32位Ruby (如Nokogiri问题中的建议)
  2. 使用IE以外的浏览器。默认情况下,Browser.new将使用watir-经典启动IE。使用其他浏览器之一将使用watir-webdriver,我不认为它依赖于nokogiri。

示例:

代码语言:javascript
复制
require 'watir'
browser = Watir::Browser.new :chrome
browser.goto("http://www.google.com")
票数 4
EN

Stack Overflow用户

发布于 2013-04-08 16:04:25

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

代码语言:javascript
复制
gem install watir-webdriver

剧本:

代码语言:javascript
复制
require 'watir-webdriver'
ie = Watir::Browser.new :ie
ie.goto("http://www.google.com")

来源:http://watirwebdriver.com

如果您想要watir-经典,您可以在这里找到安装和快速启动信息:https://github.com/watir/watir-classic

票数 4
EN

Stack Overflow用户

发布于 2014-12-23 05:35:35

在您的代码中,删除require 'watir-webdriver‘,并添加require’watir-古典‘。因此,您的代码应该如下:

代码语言:javascript
复制
require 'rubygems'
require 'watir'
require 'watir-classic'
ie = Watir::IE.new
ie.goto("http://www.google.com")

警告通知:不推荐使用Watir::IE常量,在这种情况下使用Watir::Browser代替不需要“watir-经典”。以下代码应该有效:

代码语言:javascript
复制
require 'rubygems'
require 'watir'
#require 'watir-classic'
#ie = Watir::IE.new
ie = Watir::Browser.new
ie.goto("http://www.google.com")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15875215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档