51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5059|回复: 20
打印 上一主题 下一主题

[原创] 如何取页面Table中某列的值?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-4-17 14:38:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如何取编辑框中的值以及table中某列的值?

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

使用道具 举报

该用户从未签到

2#
发表于 2008-4-17 14:52:47 | 只看该作者
哪个TABLE?网页上的?
GetCellData这个还有ChildItem
这两个都可以,就看需要做什么操作了
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2008-4-17 15:49:35 | 只看该作者
原帖由 鹭岛 于 2008-4-17 14:52 发表
哪个TABLE?网页上的?
GetCellData这个还有ChildItem
这两个都可以,就看需要做什么操作了



是网页上的。
GetCellData?
我在51上试了一下:
Browser("51Testing软件测试论坛 测试 | 软件测试").Page("51Testing软件测试论坛 测试 | 软件测试").Link("[QuickTest Pro]").Click
Browser("51Testing软件测试论坛 测试 | 软件测试").Page("[QuickTest Pro] - 51Testing软件测").Link("[QTP精华区]").Click
Browser("51Testing软件测试论坛 测试 | 软件测试").Page("[QTP精华区] - [QuickTest").WebElement("回复/查看").object.GetCellData(5,3)

打开QTP板块的精华区,预得到第5行的回复/察看值。
运行脚本时说调用子程序时不能用括号。。。
哪得问题?
大虾~~
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-4-17 15:57:33 | 只看该作者
Browser("51Testing软件测试论坛 测试 | 软件测试").Page("[QTP精华区] - [QuickTest").WebElement("回复/查看").object.GetCellData(5,3)

OBJECT去掉
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-4-17 15:58:33 | 只看该作者
另外这个GetCellData(5,3)是取得值的,你这个值要给某个变量的~~
aa=Browser("51Testing软件测试论坛 测试 | 软件测试").Page("[QTP精华区] - [QuickTest").WebElement("回复/查看").GetCellData(5,3)
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2008-4-17 16:09:40 | 只看该作者
原帖由 鹭岛 于 2008-4-17 15:57 发表
Browser("51Testing软件测试论坛 测试 | 软件测试").Page("[QTP精华区] - [QuickTest").WebElement("回复/查看").object.GetCellData(5,3)

OBJECT去掉


恩恩,WebElement("回复/察看" ) 即为Object

Browser("51Testing软件测试论坛 测试 | 软件测试").Page("51Testing软件测试论坛 测试 | 软件测试").Link("[QuickTest Pro]").Click
Browser("51Testing软件测试论坛 测试 | 软件测试").Page("[QuickTest Pro] - 51Testing软件测").Link("[QTP精华区]").Click
a=Browser("51Testing软件测试论坛 测试 | 软件测试").Page("[QTP精华区] - [QuickTest").WebElement("回复/查看").GetCellData(5,3)
Msgbox(a)

运行时Run Error: 对象不支持此属性或方法: 'Browser(...).Page(...).WebElement(...).GetCellData'


哦!
此对象为WebElenment,非Table的缘故?
试下

[ 本帖最后由 Simatu 于 2008-4-17 16:11 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-4-17 16:16:14 | 只看该作者
WebElement没有那个方法

你可以使用TABLE来定义,都是一样的。。。。抓出属性,看看它的TABLE名,然后它位于什么位置。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2008-4-17 16:22:29 | 只看该作者
那个。。。
我用Step Generator来做的
操作中提示 You need to define all mandatory arguments.

请问大虾还需什么设置?

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2008-4-17 16:33:43 | 只看该作者
看下我使用写脚本的方式弄的,你看下,希望有帮助,对于录制,我还比较模糊,哈哈,我现在是录制不懂,脚本懂,哎。。。我看我也要去学习学习录制了

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2008-4-17 16:34:38 | 只看该作者
我写的脚本是抓出“版块主题”
其中WebTable("name:=folder_hot").这个是这个“版块主题”的TABLE的属性。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2008-4-17 17:11:20 | 只看该作者
抓对象的时候不要抓那webelement,抓他的上一级webtable
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2008-4-18 09:34:59 | 只看该作者
取到列中数据了

Browser("51Testing软件测试论坛 测试 | 软件测试").Page("51Testing软件测试论坛 测试 | 软件测试").Link("[软件测试新手上路]").Click
Browser("51Testing软件测试论坛 测试 | 软件测试").Page("[软件测试新手上路] - 51Testing软件测试论坛").Link("[每日一贴]").Click
Browser("51Testing软件测试论坛 测试 | 软件测试").Page("[每日一贴] - [软件测试新手上路] -").Sync
a=Browser("51Testing软件测试论坛 测试 | 软件测试").Page("[每日一贴] - [软件测试新手上路] -").WebTable("版块主题").GetCellData(2,5)
msgbox(a)
Browser("51Testing软件测试论坛 测试 | 软件测试").Close

msgbox=0/983

[ 本帖最后由 Simatu 于 2008-4-18 09:42 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2008-4-18 09:37:45 | 只看该作者
总结一下问题:

1、没有抓准对象,Mix说很对
2、没有赋变量给GetCellData(),导致老报错:Syntax Errors(Can't  use parentheses when calling a Sub)
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2008-4-18 10:10:28 | 只看该作者
解决问题再总结,学习的好方法
回复 支持 反对

使用道具 举报

该用户从未签到

15#
 楼主| 发表于 2008-4-18 11:17:23 | 只看该作者
原帖由 鹭岛 于 2008-4-17 14:52 发表
哪个TABLE?网页上的?
GetCellData这个还有ChildItem
这两个都可以,就看需要做什么操作了


关于ChildItem,它一般是用于取哪些值得? 对于属性中没有Index的object是不是就不可以了?

我录了一段代码,预取“精华”这个object
Browser("51Testing软件测试论坛 测试 | 软件测试").Page("51Testing软件测试论坛 测试 | 软件测试").Link("[软件测试新手上路]").Click
Browser("51Testing软件测试论坛 测试 | 软件测试").Page("[软件测试新手上路] - 51Testing软件测试论坛").Link("[软件测试新手上路精华区]").Click
Browser("51Testing软件测试论坛 测试 | 软件测试").Page("[软件测试新手上路精华区] - [软件测试新手上路]").Sync
a=Browser("51Testing软件测试论坛 测试 | 软件测试").Page("[软件测试新手上路精华区] - [软件测试新手上路]").WebTable("版块主题").childitem(2,3,Image,0)
msgbox(a)
Browser("51Testing软件测试论坛 测试 | 软件测试").Close

运行到Childitem时报类型不匹配的错误,是不是因为这个object是image的缘故?
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2008-4-18 11:39:35 | 只看该作者
学习学习。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    17#
    发表于 2008-4-24 22:15:06 | 只看该作者
    查看QTP的帮助文件就知道,childitem 的返回值是  Object,因此 你只能写
    Set a=Browser("51Testing软件测试论坛 测试 | 软件测试").Page("[软件测试新手上路精华区] - [软件测试新手上路]").WebTable("版块主题").childitem(2,3,”Image”,0)
    然后使用a.GetROProperty("innertext")来获得它的某个属性值。
    要学会自己根据QTP的 Help 文件 自己写脚本。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
     楼主| 发表于 2008-4-30 13:55:23 | 只看该作者

    回复 17# 的帖子

    多谢版主指教。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2008-4-30 16:04:12 | 只看该作者
    直接用Set a=Browser("51Testing软件测试论坛 测试 | 软件测试").Page("[软件测试新手上路精华区] - [软件测试新手上路]").WebTable("版块主题").GetROProperty("innertext")也可以列出webtable中的值。
    要想拆分的话用slip就可以了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
    发表于 2008-4-30 17:34:44 | 只看该作者
    根据经验,childitem方法不是很好用,不够灵活。建议用ChildObjects,GetCellData这两个方法,组合两个for循环就可以了。

    ChildItem 的返回值是 Object ,的确不是那么好用。但有时就不得不用,因为有时你要进行操作的Image或Link 刚好在某个 WebTable里面,那只能先使用ChildItem 得到此对象,然后再进行处理。

    [ 本帖最后由 walker1020 于 2008-5-3 23:44 编辑 ]
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-16 04:46 , Processed in 0.086553 second(s), 29 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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