学习watir中,但遇一问题查了许多都未解决。求救

hupf527 2009-03-17 02:12:01
学习watir中,但遇一问题查了许多都未解决。求救
功能:登录网站http://www.tinypic.com/,上传一图片提交。

代码如下:
require 'watir'
ie = Watir::IE.new
ie.goto "http://www.tinypic.com"
ie.file_field(:id, "the_file").click
#ie.file_field(:id, "the_file").click_no_wait
ie.file_field(:id, "the_file").set("F:\\temp\\abd.jpg")

但在执行过程中,只能打开一个选择文件的窗口,无法找到文件。求救
...全文
308 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tonyzhangcn 2012-09-06
  • 打赏
  • 举报
回复
为啥不用Selenium的ruby 实现,好用多了。我们最早是用的watir,后来发现selenium好很多。现在用的和很爽。具体到这个问题selenium有专门file_field的操作。
@browser.type("file_field_id", "文件路径及名称")就可以。 此处@browser 等同于上面的ie。
走廊上的灯 2012-08-29
  • 打赏
  • 举报
回复
搭车请教下:
我重装ruby、watir后
每次执行到ie = Watir::IE.new就异常,我把这个拿到irb下测试发现,第一次执行ie = Watir::IE.new也是异常,可是第二次之后就ok了。
错误信息如下
irb(main):001:0> require 'watir'
=> true
irb(main):002:0> ie = Watir::IE.new
FFI::NotFoundError: Function '_get_errno' not found in [msvcrt.dll]
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/ffi-1.1.5/lib/ffi/library.rb:249:in `attach_function'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/win32-process-0.7.0/lib/win32/process/functions.rb:12:in `attach_pfunc'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/win32-process-0.7.0/lib/win32/process/functions.rb:64:in `<module:Functions>'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/win32-process-0.7.0/lib/win32/process/functions.rb:8:in `<top (required)>'
from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/win32-process-0.7.0/lib/win32/process.rb:1:in `<top (required)>'
from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-classic-3.1.0/lib/watir-classic/ie-process.rb:1:in `<top (required)>'
from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-classic-3.1.0/lib/watir-classic/ie.rb:4:in `<top (required)>'
from (irb):2
from C:/Ruby193/bin/irb:12:in `<main>'
irb(main):003:0> ie = Watir::IE.new
=> #<Watir::IE:0x9e6a9f0 url="about:blank" title="">
irb(main):004:0>
xxc78 2009-05-21
  • 打赏
  • 举报
回复
怎么用ruby的 watir框架去解决二级联动问题,麻烦大家举个例子
p3vhp 2009-05-08
  • 打赏
  • 举报
回复
require 'watir'
ie = Watir::IE.new
ie.goto "http://www.tinypic.com"
ie.file_field(:id, "the_file").click_no_wait
autoit = WIN32OLE.new('AutoItX3.Control')
ret = autoit.WinWait('?, '', 1)
if ret == 1 then
autoit.WinActivate("选择文件",'')
autoit.Send("F:\temp\abd.jpg")
autoit.Send("{ENTER}")
end
-----------------------------
ruby -v #ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-mswin32]

2,763

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ruby/Rails
社区管理员
  • Ruby/Rails社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧