51Testing软件测试论坛

标题: 如何获取动态获取webElement中的值 [打印本页]

作者: 秦菲    时间: 2013-1-8 10:17
标题: 如何获取动态获取webElement中的值
先来说明一下我遇到的问题,我现在录制的A页面和B页面
A页面为输入页面(用户输入相应的信息)
B页面为验证页面,显示A页面里面输入的信息

现在我想做的就是把B页面中显示的数据给提取出来和A页面中输入的信息进行一个比对

遇到的问题为,我无法获取到B页面中显示的数据,用Object SPy去获取对象,其为一个WebElement

纠结了2天了,查阅了很多资料还是没能解决,现请高手指教指教,十分感谢!
作者: 黑羽祭    时间: 2013-1-8 11:04
回复 1# 秦菲


    为什么无法获取呢?使用GetROProperty方法 不就下来了嘛。
作者: 秦菲    时间: 2013-1-8 16:05
本帖最后由 秦菲 于 2013-1-8 16:48 编辑

我用过版主说过的那个方法,获取不到了,可以再介绍一下其他方法吗?
作者: 黑羽祭    时间: 2013-1-8 16:19
回复 3# 秦菲


    能提供页面什么的么?
能提供SPY截图么?
作者: 秦菲    时间: 2013-1-8 16:54
好的
请看这是我通过Object spy获取到的数据
[attach]83163[/attach]
作者: 泰然    时间: 2013-1-8 16:56
直接用应该是不行的,因为你用spy抓出的webElement在对象库中本身就有innerText属性的值,而这个值是变化的。

看看web页面的源代码,如果可以就用getElement系列函数,如果本字段取起来比较麻烦,就取页面上可取的某个上级标签,然后childnode取你需要的子结点。
作者: 黑羽祭    时间: 2013-1-8 17:12
本帖最后由 黑羽祭 于 2013-1-8 17:13 编辑

回复 5# 秦菲


    既然有为什么不能GetROProperty呢?对象库记录的对象也有innertext的话,删掉换个属性也行啊。也可以正则。
看到这个也在WebTable里,也可以对WebTable进行操作,取出数据啊。http://www.51testing.com/index.php?uid-307440-action-viewspace-itemid-830292
作者: 秦菲    时间: 2013-1-8 17:14
谢谢泰然,那请问你能提供一段例子吗?你这样说我感觉很是模糊了,谢谢了哈
作者: 泰然    时间: 2013-1-8 17:24
黑羽祭提供了一个方法,虽然自身不能取,但可以通过上级WebTable来取。

如果这个webElement的id永远不变“displayfield-1353-inputEI”,那可以
set oEle = Page对象.object.getElementById("displayfield-1353-inputEI")
来获得这个webElement对象,oEle.innerText就是你要的"Currency"
作者: 秦菲    时间: 2013-1-9 09:51
本帖最后由 秦菲 于 2013-1-9 10:02 编辑

回复 9#


    谢谢泰然的回答,我看了版主给我的那个网站,即就是版主的说的WebTable的方法,这个我看懂了,可是我遇到一个低级的问题,我用Object Spy去捕获我的窗口的属性,其都是WebElement,所以我不知道.WebTale(“”)这里面的属性名要怎么写,呵呵,很低级,如果你知道的话,麻烦你说说,谢谢了哈
作者: 秦菲    时间: 2013-1-9 10:24
还补充说一点:
我需要获取的那个B页面,其实是一个嵌套的Div,而Div里面所有的ID都是动态的。。。。
求助啊,求助
作者: 泰然    时间: 2013-1-9 11:59
如果这个div下你所需要检查点元素在整个div中的序号是固定的,那你可以用
set oEleList = 这个div的原生的对象(即.object.获取到的对象).ChildNodes
然后你遍历一下这些子对象的nodeName,nodeType,nodeValue
for i = 0 to oEleList.length-1
  print oEleList(i).nodeName
  print oEleList(i).nodeType
  print oEleList(i).nodeValue
next
先看看哪个是你要的。
作者: 跑跑跑跑    时间: 2013-1-14 12:23
看这种帖子很有收获。




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