每周工作日更新blog,qtp的方法!

12.08.24 qtp几种识别写值及特殊webedit写值方法

上一篇 / 下一篇  2012-08-24 12:48:51 / 个人分类:EveryDayQtp

'-------------------------关于控件操作的几种方法
'-------------------------以飞行网航班查询中 出发城市的webedit 为例子
'-------------------------1.普通方法(选择出发城市为承德)
'-------------------------这个webedit控件内部有个jquary写的脚本可以弹出城市名称,你会发现执行这样的代码无效(即使你先执行点击下该webedit再set也是失败的!)
Browser("51690").Page("51690").WebEdit("MoreTrip[0].fromcity").Set "承德"    '先直接set

Browser("51690").Page("51690").WebEdit("MoreTrip[0].fromcity").Click                 '先点击,再set还是失败
Browser("51690").Page("51690").WebEdit("MoreTrip[0].fromcity").Set "承德"  
'-------------------------2.描述性编程
'-------------------------单独执行上面一行代码你会发现 “承德”  可以被set进去 ,但是你清空浏览器缓存再执行发现又不行了
Browser("micclass:=Browser").Page("micclass:=Page").WebEdit("html id:=fromcity").Set "承德"    '描述性编程中是不会自动 .出控件的所以我一般只有特殊情况才用描述性编程
'-------------------------执行上面代码的后。如果再执行下其他操作,会发现,set 进去的“承德不见了”
Browser("micclass:=Browser").Page("micclass:=Page").WebEdit("html id:=fromcity").Set "承德"
Browser("micclass:=Browser").Page("micclass:=Page").WebEdit("html id:=tocity").Click

'-------------------------3.DOM方法
'--------------------------写进去了无论你怎么操作他都在(除非你在触发jquary脚本时执行后,再点击其他位置,但是我们没有必要在用这种方法的时候还要执行点击webedit操作)
Browser("51690").Page("51690").Object.getElementById("fromcity").value = "承德"       


'-------------------------4.调用控件本身属性,与3.类似,这种情况我一般都用3.的方法来完成!
Browser("51690").Page("51690").WebEdit("MoreTrip[0].fromcity").Object.innertext  = "承德"

'-------------------------5.直接操作键盘的方法(这个方法不适合这个控件,适合一些不能直接写值的银行控件)
Dim myEdit
Set myEdit =CreateObject("WScript.Shell")   '创建windows宿主脚本对象
Browser("51690").Page("51690").WebEdit("MoreTrip[0].fromcity").Click   '定位要写值的焦点
myEdit.sendkeys "chengde"   '写值


 ***********************************

大家在用的时候一定要区分3.和4.他们的格式可是不一样的!!!


TAG:

 

评分:0

我来说两句

日历

« 2024-04-24  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 27941
  • 日志数: 59
  • 建立时间: 2011-06-17
  • 更新时间: 2012-09-18

RSS订阅

Open Toolbar