秦菲 发表于 2013-1-8 10:17:50

如何获取动态获取webElement中的值

先来说明一下我遇到的问题,我现在录制的A页面和B页面
A页面为输入页面(用户输入相应的信息)
B页面为验证页面,显示A页面里面输入的信息

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

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

纠结了2天了,查阅了很多资料还是没能解决,现请高手指教指教,十分感谢!

黑羽祭 发表于 2013-1-8 11:04:08

回复 1# 秦菲


    为什么无法获取呢?使用GetROProperty方法 不就下来了嘛。

秦菲 发表于 2013-1-8 16:05:03

本帖最后由 秦菲 于 2013-1-8 16:48 编辑

我用过版主说过的那个方法,获取不到了,可以再介绍一下其他方法吗?

黑羽祭 发表于 2013-1-8 16:19:07

回复 3# 秦菲


    能提供页面什么的么?
能提供SPY截图么?

秦菲 发表于 2013-1-8 16:54:38

好的
请看这是我通过Object spy获取到的数据

泰然 发表于 2013-1-8 16:56:08

直接用应该是不行的,因为你用spy抓出的webElement在对象库中本身就有innerText属性的值,而这个值是变化的。

看看web页面的源代码,如果可以就用getElement系列函数,如果本字段取起来比较麻烦,就取页面上可取的某个上级标签,然后childnode取你需要的子结点。

黑羽祭 发表于 2013-1-8 17:12:04

本帖最后由 黑羽祭 于 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:33

谢谢泰然,那请问你能提供一段例子吗?你这样说我感觉很是模糊了,谢谢了哈

泰然 发表于 2013-1-8 17:24:17

黑羽祭提供了一个方法,虽然自身不能取,但可以通过上级WebTable来取。

如果这个webElement的id永远不变“displayfield-1353-inputEI”,那可以
set oEle = Page对象.object.getElementById("displayfield-1353-inputEI")
来获得这个webElement对象,oEle.innerText就是你要的"Currency"

秦菲 发表于 2013-1-9 09:51:42

本帖最后由 秦菲 于 2013-1-9 10:02 编辑

回复 9#


    谢谢泰然的回答,我看了版主给我的那个网站,即就是版主的说的WebTable的方法,这个我看懂了,可是我遇到一个低级的问题,我用Object Spy去捕获我的窗口的属性,其都是WebElement,所以我不知道.WebTale(“”)这里面的属性名要怎么写,呵呵,很低级,如果你知道的话,麻烦你说说,谢谢了哈

秦菲 发表于 2013-1-9 10:24:21

还补充说一点:
我需要获取的那个B页面,其实是一个嵌套的Div,而Div里面所有的ID都是动态的。。。。
求助啊,求助

泰然 发表于 2013-1-9 11:59:44

如果这个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:33

看这种帖子很有收获。
页: [1]
查看完整版本: 如何获取动态获取webElement中的值