51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3650|回复: 11
打印 上一主题 下一主题

[原创] 怎么执行webtable的某个 link

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-7-25 18:42:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我是测试网站,因为网站的内容是变化的,所以我需要通过内容的属性来定位到该条内容,在click
我spy,查看到该条的属性是page-webtable-link.
本来我是可以通过link里的html id 直接定位到该条内容
   代码为:Browser("新浪网").Page("新浪网").Link("html id:=html id:=ctl00_ContentPlaceHolder1_ArticleShowWithTitleControl2_1_DataList1").Click
但是发现有些webtabel下的link里的html id属性是空的,所以没法直接定位.
我是想可以通过webtabe的html id,先找到该webtabel, 在找到该webtable下的某个link.
所以修改脚本为:
Browser("新浪网").Page("新浪网").WebTable("html id:=ctl00_ContentPlaceHolder1_ArticleShowWithTitleControl2_1_DataList1").ChildItem (1,1,"link",0).Click
但是执行后,提示错误: 缺少对象Browser(...).Page(...).WebTable(..).ChildItem(..)'
怎么解决这个问题?  望高手指点一下.

WebTabel的ChildItem 方法 描述 按类型和索引返回单元格中的测试对象。 语法 object.ChildItem (Row, Column, MicClass, Index) 参数 描述 object 类型 WebTable 的测试对象。 Row 必填. Long 值。 单元格所在行的行号。表中的第一行编号为 1。 Column 必填. Long 值。 单元格所在列的编号。表中的第一列编号为 1。 MicClass 必填. String 值。 对象类型。 Index 必填. Long 值。 单元格中 MicClass 类型的对象的索引。当单元格中有多个 MicClass 类型的对象时,此索引指示所需的元素。第一个对象的索引为 0。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-7-25 19:59:17 | 只看该作者
你试试这个,我已经试过了,是行的,但不一定能解决你的问题,只能提供一个思路:
Browser("视频 - 土豆网 - 播客 个人多媒体").Page("视频 - 土豆网 - 播客 个人多媒体").WebTable("index:=0").Link("index:=0").Click
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-7-26 09:52:41 | 只看该作者
哥们,通过index来做肯定是可以的.
Browser("新浪网").Page("新浪网").Link("index:=200").Click
但是一个网页那么大 ,有很多频道和新闻的.我不知道我想要单击的那条新闻的index是多少.
一个一个的试(从1到200,300),是可以找到.但要试到候年马月啊。
而且我有很多类似测试的地方.
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-7-26 10:44:07 | 只看该作者
原帖由 galiji 于 2007-7-26 09:52 发表 Browser("新浪网").Page("新浪网").Link("index:=200").Click
可以在Link前面加上Webtable,那样就少了,每个table里的Link毕竟是不多的
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-7-26 10:50:42 | 只看该作者
加不加Webtable也没多大作用啊.因为这个webtable的index我也是不知道.还是要找
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-7-26 10:53:08 | 只看该作者
应该这样做:
Browser("Browser").Page("Page_2").Frame("main").Link("text:="&zhiwei).Click
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2007-7-26 10:53:57 | 只看该作者
而且link的index应该不是根据其上层webtable的index在来找到吧.没有什么关联的.
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2007-7-26 11:02:15 | 只看该作者
应该这样做:
Browser("Browser").Page("Page_2").Frame("main").Link("text:="&zhiwei).Click

我试了一下,Page("Page_2").后列表框里没有出现Frame这个对象.也就是说就算说强制输入这行代码后,也是不行的.
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-7-26 11:07:03 | 只看该作者
原帖由 galiji 于 2007-7-26 10:53 发表
而且link的index应该不是根据其上层webtable的index在来找到吧.没有什么关联的.
加个Webtable后,就只在那个webtable里找对应index的Link,不会到别的webtable里找的,那么一个Webtable里的链接总数肯定是不多的,index数值不会太大
如果不加Webtable,那就在整个网页里搜索对应的Link,那个index编号是在整个页面里排的,比如下面两句代码点击的就是两个不同的链接:
Browser("视频 - 土豆网 - 播客 个人多媒体").Page("视频 - 土豆网 - 播客 个人多媒体").WebTable("index:=0").Link("index:=0").Click
Browser("视频 - 土豆网 - 播客 个人多媒体").Page("视频 - 土豆网 - 播客 个人多媒体").WebTable("index:=1").Link("index:=0").Click
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-7-26 11:09:13 | 只看该作者
但是你可以参考我的代码格式,把link的描述对象加上不就可以了?
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2007-7-26 11:55:39 | 只看该作者

回复 #9 gzj_06 的帖子

我找到了个更好的方法,试了一下,是ok的,
Browser("新浪网").Page("新浪网").WebTable("html id:=ctl00_ContentPlaceHolder1_ArticleShowWithTitleControl2_1_DataList1").Link("index:=1").Click
因为我需要单击的那条新闻的上一层WebTable的html id 我是可以通过spy获取到的.

没有各位的指点,我是不会想到这样搞的.
谢谢各位的指点!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Thank Your!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2010-9-26 11:35:45 | 只看该作者
很感谢.哈哈.这个方法很实用.
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-24 01:52 , Processed in 0.077533 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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