QTP怎么获取页面上属性的动态值
Browser("xxx").Page("xxx").WebElement("99,990").GetROProperty("innertext")要获取99,990这个值,但是这个值会变化,那怎么办呢 对该WebElement对象的相关识别属性使用正则表达式来匹配下可能变化的范围 回复 1# jix11
当前对象Browser("xxx").Page("xxx").WebElement("99,990")肯定存在唯一标识属性。把innerText属性从对象库的webElement的对象中踢出去,再加一个唯一标识属性。这样就可以获取这个字段的值了。
注意,对象一定要唯一哦。对象属性、对象位置(父对象、子对象的相对位置)肯定可以唯一确定这个对象,否则程序自己都无法识别,还怎么显示值啊 innertext对应的是99990这个变换的属性吗, 回复 3# xjwldlover
我用spy查了下,只有一下只能用坐标唯一标识,因为99990这个值是变动的 回复 4# louqqson008
是的,99990是变动的 你把对 WebElement("99,990") 的spy截图发上来。同时右键点“查看源文件”,把WebElement("99,990") 的对应标签信息贴出来,比如
“<div id="avatarfeed"><span id="threadsortswait"></span></div>”。
肯定可以唯一确定这个对象的。
如果邻居家长让你帮她去学校接孩子,他自己都不知道孩子叫什么长什么样,怎么可能告诉你接对人呢。 回复 7# xjwldlover不知道你说的是不是这个,我刚开始用QTP,不是很清楚 用name=balance识别,getroproperty获得innertext就行了 回复 9# 云层
值是变的,值一变就报错了 本帖最后由 xjwldlover 于 2012-8-30 16:48 编辑
试试云层说的。 回复 11# xjwldlover
麻烦解释详细一点吧,不明白怎么用,只知道获取属性值,在属性里面没找到这一项 不会吧,没有人帮我解释吗 对象库中找到你的WebElement("99,990") 对象,点击+给他增加Name 属性,同时吧innerText从你的对象属性里删除 回复 14# xjwldlover是这样子添加name属性吗。
Browser("xxx").Page("xxx").WebElement("99,900").GetROProperty("balance")
我获取到的值是空
回复 15# jix11
应该是webElement("99,900").Exists()属性是False,推测可能两种情况会造成这种情形:
①可能存在多个webElement,这个就需要你再给这个WEBELEMENT增添其他属性,来确认他的唯一性了
②可能只有在上层某个对象展开后才加载这个WebElement对象。
确认的方法很简单,通过获取Page的childObjects子对象集合,并输出每个CHildObject的属性来查看到底是找到多个对象,还是该对象根本还没加载。
希望对你有帮助,同时希望有大神补充、纠正~ 可以参考这个:num_2009=Browser("健康档案管理系统_2").Page("健康档案管理系统_2").Frame("dcEhrAllInfo").WebElement("micclass:=WebElement","innertext:=共.*条记录").GetROProperty("innertext") 看书上说动态的可以利用描述性编程解决,不过没有试过,
页:
[1]