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