51Testing软件测试论坛

标题: Div中的WebTable如何处理? [打印本页]

作者: kevin_swpi    时间: 2009-8-26 16:04
标题: Div中的WebTable如何处理?
今天在录制脚本的时候发现一个问题
WebTalbe对象被一个Div层包着
所以不管如何spy  都只能获取到一个Element对象

如果我要WebTable对象进行操作
应该如果进行操作?
作者: jadeyu712    时间: 2009-8-26 17:49
不好搞!
作者: hsjzfling    时间: 2009-8-26 18:02
期望中的WebTable对象已经不能被识别了。。。另寻它招吧~~~
作者: situelie    时间: 2009-8-26 21:08
用HTML DOM对象试试
作者: 假装不在    时间: 2009-8-27 21:34
::yiwusuoyou:::
方法:
1   ,
dim a
set a=browser().page().webelement("html id:=gridview")

2,接着到这里你就知道了吧,你已经获取到table了。然后你就可以开始操刀挖你想要的东西。
例如:
dim childNodes
set childNodes=a.object.childNodes
childNodes属性将返回一个数组,然后就遍历下之类的。

3,挖到了某个你确定的节点后,就可以获取这个节点里面的控件或者是属性,例如value之类的。
相对这种方法,如果要写得很灵活,需要比较大的代码量,但如果写死,不灵活,还是比较容易实现的。
其实这东西建议安装个辅助工具,能让你挖得更深。
http://www.51testing.com/index.p ... space-itemid-142617
作者: 假装不在    时间: 2009-8-27 21:48
再举个例子,就好像你里面的那个check box如果是在第一的第一个.....节点的话
dim a
set a=browser().page().webelement("html id:=gridview")
dim checkObj
set checkObj=a.object.firstChild.firstChild.firstChild.firstChild
checkObj.click
::yiwusuoyou:::    很爽吧~~给朵花吧,1年多没收到花的。
作者: kevin_swpi    时间: 2009-8-27 21:52

这个我今天也挖到这里了

问题就在于innerhtml里面的内容
她不仅仅是单纯的html代码

明天去公司了再继续看看  
O(∩_∩)O哈哈~    思路是有了
明天再研究下  

假装兄厉害!!麻烦耽搁你时间了 呵呵
可惜现在少了yebest兄  论坛里qtp块不再热闹了
作者: kevin_swpi    时间: 2009-8-28 17:33
之前对这个dom的操作比较少,这次花了不少时间在上面,最后终于搞整出这个东西来了
下面的代码仅仅是为了获取到table中的值 没有做过多修饰
set  list = Browser("IPP Portal").Page("销售-电汇邮局收款单").WebElement("html id:=gridview").Object.firstChild.childNodes
For i = 0  to list.length-1
    ' 找到table里面的数据行
        If list(i).classname = "even" or list(i).classname = "odd" Then
                '数据行中的某具体数据
                set numbera = list(i).childNodes
                For j = 0 to numbera.length-1
                        msgbox numbera(j).innerText
               ......
                Next
        End If
Next
作者: kevin_swpi    时间: 2009-8-28 17:36
最后很郁闷的脑袋一转
为什么不用描述性编程  直接获取这个WebTable呢....于是有了下面的代码....
Browser("IPP Portal").Page("销售-电汇邮局收款单").WebTable("html id:=gridview").GetCellData(5,6)

哈哈
虽然这个东西搞整了我一天多时间(上班时候忙里偷闲)
最后还是用了个最简单的办法
但是中间的过程还是很有收获的

再次谢谢假装兄的提醒 还有你的关于节点的故事的文章
虽然后来摒弃了上楼的这个
但是探索过程中对节点相关还是了解了不少

呵呵  结贴!
作者: 假装不在    时间: 2009-8-28 23:17
::yiwusuoyou::: 没有在现场。其实你贴点代码出来或者会好点。直接丢本地运行下HTML就明了。




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