digiLatte 发表于 2013-1-31 11:28:10

求助,怎么取得webelement的值

本帖最后由 digiLatte 于 2013-1-31 12:01 编辑

用了很多方法都取不到这两个值:

http://www.tdcommercialbanking.com/cgi-bin/exchange_cal/exchangeCal.pl
谁来指导一下


zhangkun90 发表于 2013-1-31 11:38:30

你这个网址 所有空间都能正常识别啊。。。 你要取哪个控件的 值啊

黑羽祭 发表于 2013-1-31 11:44:16

回复 1# digiLatte


    是有截图么?没看到图。

zhangkun90 发表于 2013-1-31 13:58:44

回复 1# digiLatte


    用输出值如附件, 就可以取到了 虽然不能用 object.getroproperty("") 取值 只能用这样了   还可以用 切割的方法但是 那种比这种麻烦多了 不知道你还有没有更好的方法

黑羽祭 发表于 2013-1-31 14:29:32

回复 1# digiLatte


    你innertext里这不都抓到了嘛。
你Object.GetROProperty("innertext")一下,打印出来的数据再发上来。
你要是不会截取,我可以帮你切。

zhangkun90 发表于 2013-1-31 14:57:14

回复 5# 黑羽祭


    用 leftright 切么 但是 这个数值是会变化的 ,比如说第一个值小数点前面可能是三位 可能是两位 也可能是4位咱应该怎么切呢 是用判断的的方式么?

黑羽祭 发表于 2013-1-31 16:06:52

本帖最后由 黑羽祭 于 2013-1-31 16:07 编辑

回复 6# zhangkun90


   .............没事在那YY什么的。
不要猜测我的做法。
想想么也不可能用Left和Right啊。
你发出来那句话不就知道了。

lgh75560 发表于 2013-1-31 16:26:10


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

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

print Matches.item(0).value   '97.15
print Matches.item(1).value   '1.0293纯属另外一种看法,手动检查点,不知道你喜欢不喜欢

zhangkun90 发表于 2013-1-31 17:08:37

回复 7# 黑羽祭


    {:4_100:} 额 ,因为从中得出的字符串没有固定的符号 所以我感觉也不能用split 所以不知道用什么了嘛

digiLatte 发表于 2013-2-1 12:42:07

纯属另外一种看法,手动检查点,不知道你喜欢不喜欢
lgh75560 发表于 2013-1-31 16:26 http://bbs.51testing.com/images/common/back.gif

方法可行,我有些技术性问题
请问你是怎么知道: WebElement("html tag:=FONT","innerText:=Conversion.*"), 怎么知道这个webElement是取html tag:=FONT, and innerText:=Conversion.*
我用object spy也没看出来?

lgh75560 发表于 2013-2-1 14:52:45

回复 10# digiLatte

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

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

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

总结以上:
第一点,随便找个元素,里面有我要的字符串,
第二点,怎么用描述性最快捷获取到这个元素
第三点,字符串的提取

泰然 发表于 2013-2-3 14:08:51

这个问题中的关键,LZ没说出来,红圈中的数值是动态变化的,通过QTP抓到的值在回放时经常会对象匹配失败。即使用正则表达式,也要防止匹配到多个的问题。

建议通过web的标签结构用childnodes方法来定位这行文字。

digiLatte 发表于 2013-2-4 13:19:05

回复digiLatte

第一点:要获取值,肯定要找到一个控件,里面的值,有我想要的,
这里抓到的是Font元 ...
lgh75560 发表于 2013-2-1 14:52 http://bbs.51testing.com/images/common/back.gif

能解析一下 “第二点,怎么用描述性最快捷获取到这个元素” 吗?

digiLatte 发表于 2013-2-4 13:22:04

这个问题中的关键,LZ没说出来,红圈中的数值是动态变化的,通过QTP抓到的值在回放时经常会对象匹配失败。即 ...
泰然 发表于 2013-2-3 14:08 http://bbs.51testing.com/images/common/back.gif


    对,是动态的,正是我遇到的难点
我还没学习到childnodes

ls_721521 发表于 2013-2-7 14:53:29

lgh75560 的方法是最方便的。正则匹配多个的话就多试几次加个index
页: [1]
查看完整版本: 求助,怎么取得webelement的值