51Testing软件测试论坛

标题: 求助,怎么取得webelement的值 [打印本页]

作者: digiLatte    时间: 2013-1-31 11:28
标题: 求助,怎么取得webelement的值
本帖最后由 digiLatte 于 2013-1-31 12:01 编辑

用了很多方法都取不到这两个值:
[attach]83496[/attach][attach]83500[/attach]
http://www.tdcommercialbanking.c ... _cal/exchangeCal.pl
谁来指导一下


[attach]83497[/attach][attach]83501[/attach]
作者: zhangkun90    时间: 2013-1-31 11:38
你这个网址 所有空间都能正常识别啊。。。 你要取哪个控件的 值啊
作者: 黑羽祭    时间: 2013-1-31 11:44
回复 1# digiLatte


    是有截图么?没看到图。
作者: zhangkun90    时间: 2013-1-31 13:58
回复 1# digiLatte


    用输出值  如附件, 就可以取到了 虽然不能用 object.getroproperty("") 取值 只能用这样了   还可以用 切割的方法  但是 那种比这种麻烦多了 不知道你还有没有更好的方法
作者: 黑羽祭    时间: 2013-1-31 14:29
回复 1# digiLatte


    你innertext里这不都抓到了嘛。
你Object.GetROProperty("innertext")一下,打印出来的数据再发上来。
你要是不会截取,我可以帮你切。
作者: zhangkun90    时间: 2013-1-31 14:57
回复 5# 黑羽祭


    用 left  right 切么 但是 这个数值是会变化的 ,比如说第一个值小数点前面可能是三位 可能是两位 也可能是4位  咱应该怎么切呢 是用判断的的方式么?
作者: 黑羽祭    时间: 2013-1-31 16:06
本帖最后由 黑羽祭 于 2013-1-31 16:07 编辑

回复 6# zhangkun90


   .............没事在那YY什么的。
不要猜测我的做法。
想想么也不可能用Left和Right啊。
你发出来那句话不就知道了。
作者: lgh75560    时间: 2013-1-31 16:26

  1. 'Conversion : 97.15 USD [exchange rate: 1.0293]  》》目标字符串
  2. Dim result
  3. result=Browser("Foreign Exchange Calculator").Page("Foreign Exchange Calculator_2").WebElement("html tag:=FONT","innerText:=Conversion.*").GetROProperty("innerText")

  4. Set regEx =CreateObject("VBScript.RegExp")  '正则对象
  5. regEx.Pattern = "[\d]+.[\d]+"   '格式为  》》数字.数字
  6. regex.MultiLine = True       '可能有换行符
  7. regex.Global = True          '这句是必须的,不知道为什么
  8. Set Matches = regEx.Execute(result)

  9. print Matches.item(0).value   '97.15
  10. print Matches.item(1).value   '1.0293
复制代码
纯属另外一种看法,手动检查点,不知道你喜欢不喜欢
作者: zhangkun90    时间: 2013-1-31 17:08
回复 7# 黑羽祭


    额 ,因为从中得出的字符串没有固定的符号 所以我感觉也不能用split 所以不知道用什么了嘛
作者: digiLatte    时间: 2013-2-1 12:42
纯属另外一种看法,手动检查点,不知道你喜欢不喜欢
lgh75560 发表于 2013-1-31 16:26


方法可行,我有些技术性问题
请问你是怎么知道: WebElement("html tag:=FONT","innerText:=Conversion.*"), 怎么知道这个webElement是取html tag:=FONT, and innerText:=Conversion.*
我用object spy也没看出来?
作者: lgh75560    时间: 2013-2-1 14:52
回复 10# digiLatte

第一点:要获取值,肯定要找到一个控件,里面的值,有我想要的,
这里抓到的是Font元素,但不一定必须是这个元素,你截图上的NOBR元素也是可以的

第二点:怎么获取这个值,比较好,看SPY上的属性,如果很长,或者数据重复比较严重,肯定不好弄,要写一定量的判断,(无疑添加了负担)

第三点:正则表达式描述法,比较快捷

总结以上:
第一点,随便找个元素,里面有我要的字符串,
第二点,怎么用描述性最快捷获取到这个元素
第三点,字符串的提取
作者: 泰然    时间: 2013-2-3 14:08
这个问题中的关键,LZ没说出来,红圈中的数值是动态变化的,通过QTP抓到的值在回放时经常会对象匹配失败。即使用正则表达式,也要防止匹配到多个的问题。

建议通过web的标签结构用childnodes方法来定位这行文字。
作者: digiLatte    时间: 2013-2-4 13:19
回复  digiLatte

第一点:要获取值,肯定要找到一个控件,里面的值,有我想要的,
这里抓到的是Font元 ...
lgh75560 发表于 2013-2-1 14:52


能解析一下 “第二点,怎么用描述性最快捷获取到这个元素” 吗?
作者: digiLatte    时间: 2013-2-4 13:22
这个问题中的关键,LZ没说出来,红圈中的数值是动态变化的,通过QTP抓到的值在回放时经常会对象匹配失败。即 ...
泰然 发表于 2013-2-3 14:08



    对,是动态的,正是我遇到的难点
我还没学习到childnodes
作者: ls_721521    时间: 2013-2-7 14:53
lgh75560 的方法是最方便的。正则匹配多个的话就多试几次加个index




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