2010-10-14 23 views
2

我使用的是Windows XP,我需要使用watir與紅寶石,安裝非常好,我最後一次嘗試按照這裏的說明Failed WATIR installation Server 2003,一切都很好,除了這個「錯誤:在爲builder-2.1.2生成文檔時「,安裝完成時沒有更多問題。紅寶石 - watir:無法獲得IEnum接口

問題是當我嘗試運行示例腳本來執行谷歌搜索我調用set函數時出現錯誤,到目前爲止我還沒有找到任何關於它的有用信息,如果有人可以給我一個一方面這將是巨大的:)

順便說一句,這裏http://www.mail-archive.com/[email protected]/msg07722.html他們說,這是關係到WIN32OLE但他們沒有解釋如何解決它(或至少我沒有得到它:S)

我安裝的版本是

 

    ruby -v 
    ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32] 

    gem env 
    RubyGems Environment: 
     - RUBYGEMS VERSION: 1.3.7 
     - RUBY VERSION: 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32] 
     - INSTALLATION DIRECTORY: c:/ruby/lib/ruby/gems/1.8 
     - RUBY EXECUTABLE: c:/ruby/bin/ruby.exe 
     - EXECUTABLE DIRECTORY: c:/ruby/bin 
     - RUBYGEMS PLATFORMS: 
     - ruby 
     - x86-mswin32-60 
     - GEM PATHS: 
     - c:/ruby/lib/ruby/gems/1.8 
     - C:/Documents and Settings/jamontoya/.gem/ruby/1.8 
     - GEM CONFIGURATION: 
     - :update_sources => true 
     - :verbose => true 
     - :benchmark => false 
     - :backtrace => false 
     - :bulk_threshold => 1000 
     - REMOTE SOURCES: 
     - http://rubygems.org/ 

錯誤

 
c:/ruby/lib/ruby/gems/1.8/gems/watir-1.6.6/lib/watir/locator.rb:119:in `each': failed to get IEnum Interface (RuntimeError) 
    HRESULT error code:0x80004002 
     No such interface supported  from c:/ruby/lib/ruby/gems/1.8/gems/watir-1.6.6/lib/watir/locator.rb:119:in `locate' 
     from c:/ruby/lib/ruby/gems/1.8/gems/watir-1.6.6/lib/watir/container.rb:838:in `locate_input_element' 
     from c:/ruby/lib/ruby/gems/1.8/gems/watir-1.6.6/lib/watir/input_elements.rb:5:in `locate' 
     from c:/ruby/lib/ruby/gems/1.8/gems/watir-1.6.6/lib/watir/element.rb:54:in `assert_exists' 
     from c:/ruby/lib/ruby/gems/1.8/gems/watir-1.6.6/lib/watir/element.rb:315:in `enabled?' 
     from c:/ruby/lib/ruby/gems/1.8/gems/watir-1.6.6/lib/watir/element.rb:62:in `assert_enabled' 
     from c:/ruby/lib/ruby/gems/1.8/gems/watir-1.6.6/lib/watir/input_elements.rb:364:in `set' 
     from Search.rb:29 

的示例代碼(Search.rb) 我刪除註釋和其他不必要的行

 

    require "watir" 

    test_site = "http://www.google.com" 

    browser = Watir::Browser.new 
    browser.goto test_site 
    browser.text_field(:name, "q").set("pickaxe") # here is the error when set is called 
    browser.button(:name, "btnG").click 
    browser.close 

寶石列表 萬一你需要知道

 
*** LOCAL GEMS *** 

activesupport (2.3.9) 
builder (2.1.2) 
commonwatir (1.6.6) 
firewatir (1.6.6) 
fxri (0.3.6) 
fxruby (1.6.12 mswin32) 
hoe (2.6.2) 
hpricot (0.6 mswin32) 
json_pure (1.4.6) 
log4r (1.0.5) 
nokogiri (1.4.3.1 x86-mswin32) 
rake (0.8.7, 0.7.3) 
rubyforge (2.0.4) 
rubygems-update (1.3.7) 
s4t-utils (1.0.4) 
sources (0.0.1) 
user-choices (1.1.6.1) 
watir (1.6.6) 
win32-api (1.4.6 x86-mswin32-60, 1.0.4 mswin32) 
win32-clipboard (0.4.3) 
win32-dir (0.3.2) 
win32-eventlog (0.4.6) 
win32-file (0.5.4) 
win32-file-stat (1.2.7) 
win32-process (0.6.2, 0.5.3) 
win32-sapi (0.1.4) 
win32-sound (0.4.1) 
windows-api (0.4.0, 0.2.0) 
windows-pr (1.0.9, 0.7.2) 
xml-simple (1.0.12) 

回答

0

Watir can't find IEnum interface線程您鏈接到說:

my best suggestion is to uninstall and reinstall Ruby, then re-install Watir on top of the new Ruby

,這將是我的建議了。

+0

感謝您的建議,但我已經做到了,也沒有工作,事實上,我安裝了不同的ruby版本,結果相同,我甚至試圖同時安裝2個不同的ruby版本(1.8.6和1.8.7),並沒有工作:( – Jorge 2010-10-20 15:34:27

+0

嘗試在另一臺機器上,也許這件事打破了。 – 2010-10-21 09:12:26