我使用的是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)
感謝您的建議,但我已經做到了,也沒有工作,事實上,我安裝了不同的ruby版本,結果相同,我甚至試圖同時安裝2個不同的ruby版本(1.8.6和1.8.7),並沒有工作:( – Jorge 2010-10-20 15:34:27
嘗試在另一臺機器上,也許這件事打破了。 – 2010-10-21 09:12:26