51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2998|回复: 12
打印 上一主题 下一主题

[原创] 如何获取动态获取webElement中的值

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2013-1-8 10:17:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
先来说明一下我遇到的问题,我现在录制的A页面和B页面
A页面为输入页面(用户输入相应的信息)
B页面为验证页面,显示A页面里面输入的信息

现在我想做的就是把B页面中显示的数据给提取出来和A页面中输入的信息进行一个比对

遇到的问题为,我无法获取到B页面中显示的数据,用Object SPy去获取对象,其为一个WebElement

纠结了2天了,查阅了很多资料还是没能解决,现请高手指教指教,十分感谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    无聊
    2018-9-27 10:05
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]测试团长

    2#
    发表于 2013-1-8 11:04:08 | 只看该作者
    回复 1# 秦菲


        为什么无法获取呢?使用GetROProperty方法 不就下来了嘛。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2013-1-8 16:05:03 | 只看该作者
    本帖最后由 秦菲 于 2013-1-8 16:48 编辑

    我用过版主说过的那个方法,获取不到了,可以再介绍一下其他方法吗?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-9-27 10:05
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]测试团长

    4#
    发表于 2013-1-8 16:19:07 | 只看该作者
    回复 3# 秦菲


        能提供页面什么的么?
    能提供SPY截图么?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2013-1-8 16:54:38 | 只看该作者
    好的
    请看这是我通过Object spy获取到的数据

    本帖子中包含更多资源

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

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2013-1-8 16:56:08 | 只看该作者
    直接用应该是不行的,因为你用spy抓出的webElement在对象库中本身就有innerText属性的值,而这个值是变化的。

    看看web页面的源代码,如果可以就用getElement系列函数,如果本字段取起来比较麻烦,就取页面上可取的某个上级标签,然后childnode取你需要的子结点。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-9-27 10:05
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]测试团长

    7#
    发表于 2013-1-8 17:12:04 | 只看该作者
    本帖最后由 黑羽祭 于 2013-1-8 17:13 编辑

    回复 5# 秦菲


        既然有为什么不能GetROProperty呢?对象库记录的对象也有innertext的话,删掉换个属性也行啊。也可以正则。
    看到这个也在WebTable里,也可以对WebTable进行操作,取出数据啊。http://www.51testing.com/index.php?uid-307440-action-viewspace-itemid-830292
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2013-1-8 17:14:33 | 只看该作者
    谢谢泰然,那请问你能提供一段例子吗?你这样说我感觉很是模糊了,谢谢了哈
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2013-1-8 17:24:17 | 只看该作者
    黑羽祭提供了一个方法,虽然自身不能取,但可以通过上级WebTable来取。

    如果这个webElement的id永远不变“displayfield-1353-inputEI”,那可以
    set oEle = Page对象.object.getElementById("displayfield-1353-inputEI")
    来获得这个webElement对象,oEle.innerText就是你要的"Currency"
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
     楼主| 发表于 2013-1-9 09:51:42 | 只看该作者
    本帖最后由 秦菲 于 2013-1-9 10:02 编辑

    回复 9#


        谢谢泰然的回答,我看了版主给我的那个网站,即就是版主的说的WebTable的方法,这个我看懂了,可是我遇到一个低级的问题,我用Object Spy去捕获我的窗口的属性,其都是WebElement,所以我不知道.WebTale(“”)这里面的属性名要怎么写,呵呵,很低级,如果你知道的话,麻烦你说说,谢谢了哈
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
     楼主| 发表于 2013-1-9 10:24:21 | 只看该作者
    还补充说一点:
    我需要获取的那个B页面,其实是一个嵌套的Div,而Div里面所有的ID都是动态的。。。。
    求助啊,求助
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2013-1-9 11:59:44 | 只看该作者
    如果这个div下你所需要检查点元素在整个div中的序号是固定的,那你可以用
    set oEleList = 这个div的原生的对象(即.object.获取到的对象).ChildNodes
    然后你遍历一下这些子对象的nodeName,nodeType,nodeValue
    for i = 0 to oEleList.length-1
      print oEleList(i).nodeName
      print oEleList(i).nodeType
      print oEleList(i).nodeValue
    next
    先看看哪个是你要的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2013-1-14 12:23:33 | 只看该作者
    看这种帖子很有收获。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-8 06:32 , Processed in 0.077981 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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