zhouchiyi 发表于 2009-12-16 17:05:27

怎么获取search 模块中的第一个连接

在最近的qtp脚本录制时,有一个search 模块中的处理,代码如下:
Browser("DirectCash Management").Page("DirectCash Management").WebList("ctl00$PageContent$ctl00$gvSear").Select "Not Issued"
Browser("DirectCash Management").Page("DirectCash Management").WebButton("Search").Click
Browser("DirectCash Management").Page("DirectCash Management").Link("777777******0019").Click
其中link对应的值777777******0019是search 模块中查询出来的结果中的第一条,
在回放的时候,由于link对应的值777777******0019是一个变化的,怎么才能正常打开search模块中的第一个连接?
就是怎么才能不管link的值,而只考虑他的顺序

[ 本帖最后由 zhouchiyi 于 2009-12-16 17:16 编辑 ]

ls_721521 发表于 2009-12-16 17:52:41

1.正则,77777是每次都显示的吗,如果是就Link("777777.*").Click
2.如果你只是要点第一条,那么找个公共属性,然后加index,如Link("index:=0").Click

zhouchiyi 发表于 2009-12-17 11:23:54

回复 2# 的帖子

是的,在整个连接中前面的六位7和六个*都是不变的,就是最后4位变化

fly 发表于 2009-12-17 15:37:47

如果是表格形式的结果,则可以考虑是否可以利用loop找到符合结果的行,再利用childitem方法,建议楼主截个屏看看

zhouchiyi 发表于 2009-12-17 16:25:48

回复 4# 的帖子

截图如附件所示。每次操作完成,第一个cardnumber都会被改变状态,所以每次回放脚本的时候第一个cardnumber的值都会变化。

ls_721521 发表于 2009-12-18 10:21:07

难道Link("777777.*","index:=0").Click 不行??

zhouchiyi 发表于 2009-12-18 10:34:33

回复 6# 的帖子

用link后返回的提示信息是这样的,我用的是9.2版本
Object doesn't support this property or method: 'Browser(...).Page(...).Link'
请问在做link处理的时候除了编辑语句外还要做那些操作,谢谢

ls_721521 发表于 2009-12-18 10:38:03

把你写的脚本发出来看看吧

ls_721521 发表于 2009-12-18 10:39:20

Browser("DirectCash Management").Page("DirectCash Management").Link("777777******0019").Click‘这个是你录制的吧?
改成这样就应该没错呀
Browser("DirectCash Management").Page("DirectCash Management").Link("777777.*","index:=0").Click

zhouchiyi 发表于 2009-12-18 10:48:07

回复 9# 的帖子

ls-721521你好:整个录制脚本如下,操作过程是找出一个not issued状态的卡,然后将他active的一个过程。而且在这里回放脚本的时候即使手动将
rowser("DirectCash Management").Page("DirectCash Management").Link("777777******0019").Click中的卡号改成其他的也不行,必须重新录制这句才能通过。
Browser("DirectCash Management").Page("DirectCash Management").Link("Manage Cards").Click
Browser("DirectCash Management").Page("DirectCash Management").WebList("ctl00$PageContent$ctl00$gvSear").Click
Browser("DirectCash Management").Page("DirectCash Management").WebList("ctl00$PageContent$ctl00$gvSear").Select "Not Issued"
Browser("DirectCash Management").Page("DirectCash Management").WebButton("Search").Click
'Browser("DirectCash Management").Page("DirectCash Management").Link("777777******0019").Click

Browser("DirectCash Management").Page("DirectCash Management").Link("777777.*","index: =0").click
Browser("DirectCash Management").Page("DirectCash Management").WebList("ctl00$PageContent$ctl08$ddlBra").Click
Browser("DirectCash Management").Page("DirectCash Management").WebList("ctl00$PageContent$ctl08$ddlBra").Select "Branch_0622001"
wait 1
Browser("DirectCash Management").Page("DirectCash Management").WebList("ctl00$PageContent$ctl08$ddlSta").Click
Browser("DirectCash Management").Page("DirectCash Management").WebList("ctl00$PageContent$ctl08$ddlSta").Select "Out-of-safe"
Browser("DirectCash Management").Page("DirectCash Management").WebElement("Card Details").Click
Browser("DirectCash Management").Page("DirectCash Management").WebButton("ACTIVATE CARD").Click
Browser("DirectCash Management").Page("DirectCash Management").WebEdit("ctl00$PageContent$ctl02$txtFir").Click
Browser("DirectCash Management").Page("DirectCash Management").WebEdit("ctl00$PageContent$ctl02$txtFir").Set "First"
Browser("DirectCash Management").Page("DirectCash Management").WebEdit("ctl00$PageContent$ctl02$txtLas").Click
Browser("DirectCash Management").Page("DirectCash Management").WebEdit("ctl00$PageContent$ctl02$txtLas").Set "Last"
Browser("DirectCash Management").Page("DirectCash Management").WebEdit("ctl00$PageContent$ctl02$txtDOB").Click
Browser("DirectCash Management").Page("DirectCash Management").WebEdit("ctl00$PageContent$ctl02$txtDOB").Set "1990/01/01"
Browser("DirectCash Management").Page("DirectCash Management").WebEdit("ctl00$PageContent$ctl02$txtAdd").Click
Browser("DirectCash Management").Page("DirectCash Management").WebEdit("ctl00$PageContent$ctl02$txtAdd").Set "address"
Browser("DirectCash Management").Page("DirectCash Management").WebEdit("ctl00$PageContent$ctl02$txtCit").Click
Browser("DirectCash Management").Page("DirectCash Management").WebEdit("ctl00$PageContent$ctl02$txtCit").Set "city"
Browser("DirectCash Management").Page("DirectCash Management").WebList("ctl00$PageContent$ctl02$ddlOcc").Click
Browser("DirectCash Management").Page("DirectCash Management").WebList("ctl00$PageContent$ctl02$ddlOcc").Select "Creative - Designer"
Browser("DirectCash Management").Page("DirectCash Management").WebList("ctl00$PageContent$ctl02$ddlSta").Click
Browser("DirectCash Management").Page("DirectCash Management").WebList("ctl00$PageContent$ctl02$ddlSta").Select "California - CA"
Browser("DirectCash Management").Page("DirectCash Management").WebElement("ID TypeDriver's License").Click
Browser("DirectCash Management").Page("DirectCash Management").WebEdit("ctl00$PageContent$ctl02$txtPos").Click
Browser("DirectCash Management").Page("DirectCash Management").WebEdit("ctl00$PageContent$ctl02$txtPos").Set "12345-6___"
Browser("DirectCash Management").Page("DirectCash Management").WebList("ctl00$PageContent$ctl02$ddlIDT").Click
Browser("DirectCash Management").Page("DirectCash Management").WebList("ctl00$PageContent$ctl02$ddlIDT").Select "Social Security (SSN)"
Browser("DirectCash Management").Page("DirectCash Management").WebEdit("ctl00$PageContent$ctl02$txtIDN").Click
Browser("DirectCash Management").Page("DirectCash Management").WebEdit("ctl00$PageContent$ctl02$txtIDN").Set "123-45-6789"
Browser("DirectCash Management").Page("DirectCash Management").WebEdit("ctl00$PageContent$ctl02$txtPho").Click
Browser("DirectCash Management").Page("DirectCash Management").WebEdit("ctl00$PageContent$ctl02$txtPho").Set "1-23456789"
Browser("DirectCash Management").Page("DirectCash Management").WebEdit("ctl00$PageContent$ctl02$ucWall").Click
Browser("DirectCash Management").Page("DirectCash Management").WebEdit("ctl00$PageContent$ctl02$ucWall").Set "100.00"
Browser("DirectCash Management").Page("DirectCash Management").WebButton("Save").Click
IfBrowser("DirectCash Management").Dialog("Microsoft Internet Explorer").WinButton("OK").exist Then
        Browser("DirectCash Management").Dialog("Microsoft Internet Explorer").WinButton("OK").Click
End If
IfBrowser("DirectCash Management").Page("DirectCash Management").Frame("Frame").WebButton("Close").exist Then
        Browser("DirectCash Management").Page("DirectCash Management").Frame("Frame").WebButton("Close").Click
End If

ydl668 发表于 2009-12-20 05:15:10

Browser("DirectCash Management").Page("DirectCash Management").WebTable("name:=...")ChidItem(1,1,"Link",0).Click
这样应该没问题的

如果你要查询出符合条件的点击链接,那么如下

fori=1 to Browser("DirectCash Management").Page("DirectCash Management").WebTable("name:=...").RowCount

if Browser("DirectCash Management").Page("DirectCash Management").WebTable("name:=...").Browser("DirectCash Management").Page("DirectCash Management").WebTable("name:=...").GetCellData(i,1)="77777.*"   then
Browser("DirectCash Management").Page("DirectCash Management").WebTable("name:=...")ChidItem(i,1,"Link",0).Click
   endif
页: [1]
查看完整版本: 怎么获取search 模块中的第一个连接