因为watir无法录制脚本,只能自己动手写了。但是要知道当前html页面有哪些控件才能写脚本。
于是先用irb来察看ogame的主页面:
irb(main):001:0> require 'watir'
=> true
irb(main):002:0> ie = Watir::IE.start("http://www.ogame.com.cn")
等页面全部显示以后,用 ie.show_all_objects 来显示ie中的所有对象:
html document name=mainframe id= src=/index.php?frameset=1原来用了frame,什么都看不到。。。
继续察看,ie.show_frames,只有一个frame,
继续调用ie.frame("mainframe").show_all_objects,还是只有一个name为空的frame显示出来,why?
ie.frame("mainframe").frame("")..show_all_objects,终于出来了!
-----------Objects in page -------------
text/css id=
text/JavaScript id= src=
name= id=
name= id=
name= id=
name= id=
name= id=
name= id=
name= id=
text/javascript id= src=http://www.google-analytics.com/urchin.js
text/javascript id= src=
text/javascript id= src=
hidden name=timestamp id= value=1172032220 alt= src=
hidden name=v id= value=2 alt= src=
select-one name=Uni id= value=
text/javascript id= src=
text name=login id= value= alt=Login src=
password name=pass id= value= alt=Passwort src=
image name= id= value=Login alt= src=http://www.ogame.com.cn/portal/img/main/login.gif
name= id=
name= id=
name= id=
name= id=
name= id=
name= id=
id=
id= value=0
id= value=0
id= value=0
name= id=
name= id=
name= id=
name= id=
name= id=
name= id= 可以看到4个object是需要的,Uni,login,pass,submit用的login .
require 'watir' 
ie = Watir::IE.new
ie.goto("http://www.ogame.com.cn") 
# Step 2: enter name and pass
ie.frame("mainframe").frame("").select_list( :name , "Uni").select("2. 宇宙")
ie.frame("mainframe").frame("").text_field(:name, "login").set("xxxx")
ie.frame("mainframe").frame("").text_field(:name, "pass").set("xxxxx")
ie.frame("mainframe").frame("").button(:value, "Login").click

浙公网安备 33010602011771号