查看完整版本: ruby写的 启动ie浏览器 自动登录163的邮箱

rubylee 2008-4-15 17:21

ruby写的 启动ie浏览器 自动登录163的邮箱

[code]require "win32ole" #包含库

ie = WIN32OLE.new('internetExplorer.Application')
ie.visible = true #这个时候就可以看到一个ie的界面出来了
ie.navigate('http://mail.163.com') #转到这个页面
sleep(0.1) until ie.busy == false #sleep 直到ie.busy为false 页面完全载入为止
ie.Document.getElementById("username").value = "coderlee" #输入账户名
ie.Document.getElementById("password").value = "chaosafen" #输入密码
ie.Document.getElementById("btn1").click #登录按钮的id是btn1 模拟点击一下[/code]大家可以把账号密码替换一下 试试 呵呵
主要是介绍了win32ole库的使用  对于win32ole对象 可以用ole_methods查询所支持的方法

[[i] 本帖最后由 rubylee 于 2008-4-17 11:01 编辑 [/i]]

bbschat 2008-4-15 17:30

不错的说。
小问题,除了用sleep等待,没有其他判定页面完全载入的方法吗?

rubylee 2008-4-15 17:47

嗯 那个sleep  我也很头疼  不知道是否支持回调函数  如果支持onload回调函数就太棒了。。

xavier 2008-4-15 19:17

如果用watir做的话,每一步都回等上一步完全执行完毕后再执行
LZ可以试一下[url]http://rubyforge.org/projects/wtr/[/url]

zengjinbai 2008-4-15 20:57

sleep (2)
换成
sleep (2) unless (ie.busy)

应该可以等待IE完全下载.

rubylee 2008-4-16 09:22

楼上的方法不错  不过 是依靠间隔时间轮询状态的方法

是否能有一个回调机制  这样才是正解。。

kran 2008-5-17 23:06

如何用ruby启动firefox并获得firefox对象?
linux下

xavier 2008-5-18 08:25

[quote]原帖由 [i]kran[/i] 于 2008-5-17 23:06 发表 [url=http://www.ruby-lang.org.cn/forums/redirect.php?goto=findpost&pid=15605&ptid=4313][img]http://www.ruby-lang.org.cn/forums/images/common/back.gif[/img][/url]
如何用ruby启动firefox并获得firefox对象?
linux下 [/quote]
[url]http://ruby-lang.org.cn/forums/viewthread.php?tid=717[/url]
页: [1]
查看完整版本: ruby写的 启动ie浏览器 自动登录163的邮箱