51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3350|回复: 17
打印 上一主题 下一主题

[求助] SendKeys 方法使用请大虾指点!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-7-24 12:51:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有一文本框输入 例如: webedit(City).object.value = "上海"
我这样写 值是赋值进去了但是点击搜索的时候还是提示CITY为空,请输入!
有朋友说可能复文本框概念!可以尝试SendKeys 方法!但是本人没用过sendkey方法!请大家知道下!
我想把WebEdit(City)这个对象用SENDKEYS输入“上海”怎么搞?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-7-24 13:06:14 | 只看该作者
用法是:Object.SendKey Key
我也没有用过,快查看帮助啊,你要多看帮助  其实这也是别人说我的,赫赫
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2009-7-24 13:46:07 | 只看该作者
原帖由 sean007 于 2009-7-24 12:51 发表
有一文本框输入 例如: webedit(City).object.value = "上海"
我这样写 值是赋值进去了但是点击搜索的时候还是提示CITY为空,请输入!
有朋友说可能复文本框概念!可以尝试SendKeys 方法!但是本人没用过sendkey方 ...


首先你为什么要用webedit(City).object.value = "上海"的方式给city对象赋value?大多情况下,出现你这样的问题是由于本来地址设计的时候有个字典表,在把“上海”传个这个页面value做为显示后,还会把字典表所对应的ID传个页面的hidden做保存,查询是可能是通过getXXXByCityId的方式拿出对应的数据,如果你以webedit(City).object.value = "上海"方式,并没有给页面这个ID所以也出现city为空的提示。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2009-7-24 14:01:34 | 只看该作者
恩 有可能! 再看看!但是如果不行确实没有这个ID之类的话!只能用SENDKEY了!是在不行就用鼠标模拟哇哈哈!
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2009-7-24 14:04:52 | 只看该作者
恩恩恩看到了 仔细看了下他<INPUT ........了 趋势 有个CITYID的好仔细看看!谢谢大虾啊哈哈!
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2009-7-24 14:10:15 | 只看该作者
如果没有这个字典(对应关系)!就无法做了!是吧? 哎!麻烦了!
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2009-7-24 14:35:03 | 只看该作者

回复 3# 的帖子

现在找到这个值了呵呵!上海的对应ID是“0210”但是我怎么去赋这个值啊!?貌似完全没有思路么!
人家是<LI class="item first_item current_item" onfocus="DataFocus(['0210','上海']);" ; onselect="DataSelect(['0210','上海']);"><SPAN style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px"></SPAN>shanghai上海</LI>
没有任何思路!哎!
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2009-7-24 14:41:39 | 只看该作者
如果是复文本框的话用sendkeys也不能输入的。
可以用 Object.insertAdjacentText 的方法试试输入
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2009-7-24 15:08:35 | 只看该作者
原帖由 sean007 于 2009-7-24 14:35 发表
现在找到这个值了呵呵!上海的对应ID是“0210”但是我怎么去赋这个值啊!?貌似完全没有思路么!
人家是shanghai上海
没有任何思路!哎!


2种方式解决:
1、不直接操作DOM对象,按照页面自然的传递数据的方式,也就是说用如:set,click。等操作,让页面自己通过request对象传递数据。
2、做一个方法,传“上海”等字符参数,然后去对应的表中查询出所对应的ID返回,并将他通过DOM的方式赋于页面的元素

另外你给的这段HTML段,应该是列表块的吧,不是提交块的吧。。尽量去找form里面的,或者在onsubmit附近的看看是否有ID的信息
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2009-7-24 15:10:56 | 只看该作者
通过看你的HTML代码有如onselect后还有样式的代码,推断应该是列表块的HTML,不是提交信息,所以你先找到提交的HTML
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2009-7-24 16:33:03 | 只看该作者
SendKeys 的用法:
Set WshShell=WScript.CreateObject("WScript.Shell")
WshShell.SendKeys  "shanghai"
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2009-7-24 17:18:40 | 只看该作者

回复 10# 的帖子

实在是没有思路!大虾你说的我似乎有明白了!但是自己入手的时候还是不行!
回复 支持 反对

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2009-7-24 17:21:40 | 只看该作者

回复 9# 的帖子

http://www.homeinns.com/resvhomeinns/Home/index.aspx
城市,日期,搜索!
这个是一个外网的实例!上海 = 0210
试了一下午了!不行啊!
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2009-7-24 21:18:00 | 只看该作者
学习了,本人正在学VBScript呢
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2009-7-25 23:41:50 | 只看该作者
这边到底有可学习的东西,真是不错的说
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2009-7-27 00:42:31 | 只看该作者
我博客上有一篇针对vbs的sendkey详解的文章,楼主可以去看看
http://www.51testing.com/?uid-11 ... space-itemid-141849
回复 支持 反对

使用道具 举报

该用户从未签到

17#
 楼主| 发表于 2009-7-27 11:52:27 | 只看该作者

回复 8# 的帖子

请问Object.insertAdjacentText 怎么使用? HELP中没有介绍!有实例么 大虾?
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2009-7-30 15:59:51 | 只看该作者
webedit(City).object.setAttribute "value" "上海"

楼主可以试下
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-21 22:28 , Processed in 0.083887 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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