51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2313|回复: 6
打印 上一主题 下一主题

[求助] 求助!如何遍历页面中的WebElement对象的innertext值

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2014-2-24 11:56:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位好,我是刚使用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
复制代码
错误提示如附件:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2014-2-24 14:04:07 | 只看该作者
如果要全部WebElement,还不如直接这样
Browser("micClass:=Browser").Page("micClass:=Page").ChildObjects()
然后进一步遍历每个对象
输出
item(i).getROproperty("Nativeclass") 之类的试试什么结果

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

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

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

不知道对你有帮助没
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2014-2-24 14:49:18 | 只看该作者
回复 2# lgh75560

谢谢你的答复,我去尝试尝试~
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2014-2-24 14:53:43 | 只看该作者
回复 2# lgh75560


    你好,这个方法貌似无法返回子对象,调试中对象数量为0
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2014-2-24 14:58:28 | 只看该作者
回复 2# lgh75560


    不好意思,我刚从的调试代码出了问题,才会返回数量为0.现在已经解决了,方法很好.谢谢了~
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2015-10-14 16:44:38 来自手机 | 只看该作者
我用这个方法,每次循环总有几个值取不到怎么办?
回复 支持 反对

使用道具 举报

  • TA的每日心情

    2015-9-14 10:47
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]测试营长

    7#
    发表于 2015-10-20 15:44:10 | 只看该作者
    lgh75560 发表于 2014-2-24 14:04
    如果要全部WebElement,还不如直接这样
    Browser("micClass:=Browser").Page("micClass:=Page").ChildObjec ...

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

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-8 19:40 , Processed in 0.072493 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表