51Testing软件测试论坛

标题: 急救!哪位好心人能告诉我一下怎么单击(Click) WebTable中的某一行。谢谢。。。 [打印本页]

作者: zhengxiao025    时间: 2008-5-9 17:14
标题: 急救!哪位好心人能告诉我一下怎么单击(Click) WebTable中的某一行。谢谢。。。
急救!哪位好心人能告诉我一下怎么单击(Click)   WebTable中的某一行。
我会取出来里面的数据,却不能click,看来WebTable还是没整明白呀。。大家救救!!!!
作者: jackymail    时间: 2008-5-9 17:29
里面已应该是一个一个的webelement吧,找出来一个,settoproperty不停变换,能完成遍历。
还可以用childobjects找到里面所有的子对象。
作者: zte_boy    时间: 2008-5-9 17:34
数据?应该是连接吧
ObjLink = Obj.ChildItemCount(x , y , "Link")
NumberOfObjLink = ObjLink.count
for i = 0 to NumberOfObjLink
    ObjLink(i).Click
Next
作者: zhengxiao025    时间: 2008-5-9 17:35
先谢了。不过没有太明白,能不能给个例子呀。谢谢了
作者: 没有蛀牙    时间: 2008-5-9 17:40
如Jacky所说:
Set objRow = Browser("...").Page("...").WebTable("...").ChildObjects(<Description>)
objRow(0).Click
试试行不行
作者: zte_boy    时间: 2008-5-9 17:43
先去看看帮助吧,呵呵,搞清楚各个方法的用途
作者: 今天有雾    时间: 2008-5-9 17:44
你如果是要取出table中某一行的数据,用GetCellData这个就可以了,至少单击,不太清楚你的意思,是否能更详细的描述一下呢
作者: zte_boy    时间: 2008-5-9 17:45
感觉LZ意思是某行中有多个数据,都是链接格式,需要点击查看内容
作者: zhengxiao025    时间: 2008-5-9 17:47
提示,不支持click方法呀。。。。
作者: zte_boy    时间: 2008-5-9 17:57
自己调试下咯,把对象tostring下,看看是否正确获取到了你所需要的对象
作者: zte_boy    时间: 2008-5-9 17:57
你可以截个图上来看下
作者: zhengxiao025    时间: 2008-5-9 18:23
有些内容不便透露,请大家包涵啊!
作者: zhengxiao025    时间: 2008-5-9 18:25
规则名称,那里面是一个表,点击任一记录,下面就显示相关信息。。。
作者: zte_boy    时间: 2008-5-9 18:43
首先你先确认你的对象的类型,我权且当作Link来处理
Set ObjLink = Browser("xx").Page("xx").WebTable.ChildObjects("Link")
NumberOfObjLink = ObjLink.count
For i = 0 to NumberOfObjLink - 1
    ObjLink(i).Click
Next

如果你要随机点的话,那么可以在对象数量的范围内加一个生成随机数的函数
作者: zhengxiao025    时间: 2008-5-9 18:56
呵呵。谢谢您。不过我这还是不好用。谢谢您给出了这么多主意。。。
作者: xiao*    时间: 2008-5-14 13:25
objVar是传入的对象(set a = browser().pager().frame().webtable())
iC是传入的列表的列的数量
strFindTitle是列表中列的标题
strFindString是列表中能确定是你要查找的字段
Public function OpenDataFun(objVar,iC,strFindTitle,strFindString)
                Dim strTableTitle,iDataNum,strDesc,i,s,m,strCellData,strCellLink
                Set strDesc = description.Create()
                strDesc("html tag").value = "td"
                set strCellData = objVar.ChildObjects(strDesc)
                iDataNum = strCellData.count()
                '确认查找字段所在的列
                For i = 1 to iC
                        strTableTitle = objVar.GetCellData(1,i)
                        If strTableTitle = strFindTitle Then
                                s = i-1
                        End If
                Next
                '在确定的列中查找字符
                For m = s  to iDataNum step iC
                         strCellLink = Trim(strCellData(m).GetROProperty("innertext"))
                        If strCellLink = strFindString Then
                                strCellData(m).click
                                wait 2
                        End If
                Next               
        End Function
作者: walker1020    时间: 2008-5-15 23:28
原帖由 zhengxiao025 于 2008-5-9 17:47 发表
提示,不支持click方法呀。。。。


此提示说明 你要的对象,QTP没有找到。看看 使用的函数及其参数是否有问题
作者: walker1020    时间: 2008-5-15 23:34
根据你的描述,你应先使用 WebTable 对象的ChildItem 方法得到需要Click的对象,然后 再对此对象进行 Click 操作。关于 ChildItem  的用法,请参考 QTP的帮助文件。
作者: walker1020    时间: 2008-5-15 23:34
16# 的朋友提供的方法应该可行,不知道楼主试了没有?
作者: walker1020    时间: 2008-5-15 23:37
注意:你要找到的对象一定要可以进行Click操作,否则会报错
作者: zhengxiao025    时间: 2008-5-16 09:58
谢谢大家的帮忙!!以后还请大家多多关照!




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2