51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 6450|回复: 25
打印 上一主题 下一主题

[原创] 选择不到下拉表中的数据

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-12-17 16:46:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
下拉表中的数据是我参数化的,每次数据都变化。现在想选取下拉表中的数据,点击后取不到值,见代码:

data=browser("").Page("").WebTable("innertext:="&cont,"index:=1").GetCellData(2,1)

Browser("").Page("").WebElement("innertext:="&data,"rowSpan:=1","index:=1").highlight‘点亮的是整个下拉表

Browser("").Page("").WebElement("innertext:="&data,"rowSpan:=1","index:=1").click   ’因为点击的是整个下拉表,所以没有选择到要选的数据

用 browser("").Page("").webtable("qtp").ChildItem(2,1,"link",0).click 也是一样的效果
下面是截图

本帖子中包含更多资源

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

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

使用道具 举报

该用户从未签到

2#
发表于 2008-12-17 22:55:23 | 只看该作者
用sendkeys {down}如何?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2008-12-18 09:30:21 | 只看该作者
现在的问题是 Browser("").Page("").WebElement("innertext:="&data,"rowSpan:=1","index:=1") 根本没有选中表里的数据,而是选的整个表。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-12-18 11:31:37 | 只看该作者
怎么跳过了weblist ?如果有,可以用
weblist.getitem(i)试下
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2008-12-18 13:10:28 | 只看该作者
没有weblist...
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-12-18 13:31:33 | 只看该作者
Set wshSehll = CreateObject("WScript.shell")
Browser("").Page("").WebElement("innertext:="&data,"rowSpan:=1","index:=1").highlight
wshSehll.SendKeys("{DOWN}")

楼主把这个方式加入到脚本里面去调试一下,看能不能选中你想要的数据呢?
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2008-12-18 14:11:22 | 只看该作者

回复 5# 的帖子

用SendKeys("{DOWN}")应该可以的 谢谢了
我的数据在下拉表第二行所以用了2个
wshSehll.SendKeys("{DOWN}")
wshSehll.SendKeys("{DOWN}")
但还有个问题,键盘选中后这个下拉表不关闭,导致以后的步骤不能执行。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2008-12-18 15:27:57 | 只看该作者
用FireEvent "onmouseover"试一下
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2008-12-18 16:05:03 | 只看该作者

回复 7# 的帖子

兄弟,你一直按方向键,没有回车也没有做点击操作,当然下拉表关闭不掉啊。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2008-12-18 16:06:20 | 只看该作者

回复 8# 的帖子

谢谢,不过这个方法也不行
接着7#的话题:键盘选中后这个下拉表不关闭,导致以后的步骤不能执行。
现在我把关闭下拉框的步骤插进去再进行下面的步骤还是不行。用同步点等待下面的对象,执行后无操作。
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2008-12-18 16:08:28 | 只看该作者

回复 9# 的帖子

我按回车了,只是刚才没贴出来
wshSehll.SendKeys("{DOWN}")
wshSehll.SendKeys("{DOWN}")
WshShell.SendKeys "{ENTER}" ‘这个是回车吧
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2008-12-18 16:33:55 | 只看该作者

回复 10# 的帖子

不会吧~
你那条“132”的记录难道不能单独添加成两个WebElement吗?一个是变色前的,一个是变色后的,然后用FireEvent "onmouseover移动到没变色的,再click变色的
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2008-12-18 16:34:14 | 只看该作者
那说明你的程序不响应回车事件,需要模拟鼠标点击
回复 支持 反对

使用道具 举报

该用户从未签到

14#
 楼主| 发表于 2008-12-18 16:38:30 | 只看该作者

回复 12# 的帖子

"132"是我参数化的数据,对象库中没有对象
回复 支持 反对

使用道具 举报

该用户从未签到

15#
 楼主| 发表于 2008-12-18 16:40:47 | 只看该作者

回复 13# 的帖子

“模拟鼠标点击”咋模拟呀?
回复 支持 反对

使用道具 举报

该用户从未签到

16#
 楼主| 发表于 2008-12-18 16:44:26 | 只看该作者
赫!!我升高级战友了!
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2008-12-18 16:44:58 | 只看该作者

回复 14# 的帖子

对象库没有就另外添加一个。。我刚刚遇到了一个类似你这样的问题,就是这么解决的
回复 支持 反对

使用道具 举报

该用户从未签到

18#
 楼主| 发表于 2008-12-18 16:48:50 | 只看该作者

回复 17# 的帖子

"132"是excel里导入的数据,添到对象库后要是数据变了不就又识别不了吗!
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2008-12-18 16:52:32 | 只看该作者

回复 18# 的帖子

用SetTOProperty将“132”参数话成当前的就可以了
回复 支持 反对

使用道具 举报

该用户从未签到

20#
 楼主| 发表于 2008-12-18 16:59:16 | 只看该作者

回复 19# 的帖子

对呀,这又回到我在3#说的问题了
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-5-26 19:50 , Processed in 0.085895 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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