51Testing软件测试论坛

标题: 求助!如何遍历页面中的WebElement对象的innertext值 [打印本页]

作者: wai5888    时间: 2014-2-24 11:56
标题: 求助!如何遍历页面中的WebElement对象的innertext值
各位好,我是刚使用QTP的新手,最近给一个问题困惑了好久,想在此请教一下.

我想使用QTP实现遍历页面中的WebElement对象,并访问他们的innertext值.可是,一直都不能成功.

相同的方法,我把对象改成link则能够成功,请问,是不是WebElement对象不能够如此用?

Link代码如下:

  1. systemutil.Run "IEXPLORE","http://www.baidu.com"

  2. Set all_Link = Description.Create()
  3. all_Link("micClass").value="Link"

  4. Set all_Links = Browser("micClass:=Browser").Page("micClass:=Page").ChildObjects(all_Link)
  5. For i = 0 to all_Links.count - 1
  6.     Set Link_Object = all_Links.item(i)
  7.     'msgbox Link_Object.GetROProperty("innertext")
  8.     Char =Char & Link_Object.GetROProperty("innertext") & vbCrLf
  9. Next
  10. msgbox Char
复制代码
WebElement代码如下:

  1. systemutil.Run "IEXPLORE","http://www.baidu.com/more/"
  2. 'WebElement
  3. Set all_WebElement = Description.Create()
  4. all_WebElement("micClass").value="WebElement"

  5. Set all_WebElements = Browser("micClass:=Browser").Page("micClass:=Page").ChildObjects(all_WebElement)
  6. For i = 0 to all_WebElements.count - 1
  7.     Set WebElement_Object = all_WebElements.item(i)
  8.     msgbox WebElement_Object.GetROProperty("innertext")
  9.     Char =Char & WebElement_Object.GetROProperty("innertext") & vbCrLf
  10. Next
  11. msgbox Char
复制代码
错误提示如附件:
[attach]89294[/attach]
作者: lgh75560    时间: 2014-2-24 14:04
如果要全部WebElement,还不如直接这样
Browser("micClass:=Browser").Page("micClass:=Page").ChildObjects()
然后进一步遍历每个对象
输出
item(i).getROproperty("Nativeclass") 之类的试试什么结果

我觉得WebElement就是网页里面没有封装的原始元素识别方法

WebElement("html tag:=A",,,)
和WebLink(,,,)是一样的

WebElement("html tag:=CheckBox",,,)
和WebCheckBox(,,,)是一样的

不知道对你有帮助没
作者: wai5888    时间: 2014-2-24 14:49
回复 2# lgh75560

谢谢你的答复,我去尝试尝试~
作者: wai5888    时间: 2014-2-24 14:53
回复 2# lgh75560


    你好,这个方法貌似无法返回子对象,调试中对象数量为0
作者: wai5888    时间: 2014-2-24 14:58
回复 2# lgh75560


    不好意思,我刚从的调试代码出了问题,才会返回数量为0.现在已经解决了,方法很好.谢谢了~
作者: 风逝后花开    时间: 2015-10-14 16:44
我用这个方法,每次循环总有几个值取不到怎么办?
作者: malylian    时间: 2015-10-20 15:44
lgh75560 发表于 2014-2-24 14:04
如果要全部WebElement,还不如直接这样
Browser("micClass:=Browser").Page("micClass:=Page").ChildObjec ...

请问怎么对WebElement进行参数化,以Webtour注册为例,当输入不同信息的时候,会有不同的WebElement对象提示,怎么来获取他




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