xiaoxiao_cao 发表于 2016-8-5 11:12:07

QTP没有执行SendKeys键盘事件

systemutil.Run "www.baidu.com"
wait (20)
Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").FireEvent ("onfocus")
wait (10)
Dim WshShell
Set WshShell=CreateObject ("WScript.Shell")
WshShell.SendKeys "hello"
Browser("百度一下,你就知道").Page("百度一下,你就知道").WebButton("百度一下").Click

运行到输入hello时,QTP没有执行,直接执行了click操作。
求解

puchonghui 发表于 2016-8-5 13:41:53

我记得vb的sendkeys是同步执行的,试试看加个参数行不行
WshShell.SendKeys "hello",True

xiaoxiao_cao 发表于 2016-8-5 14:03:11

不行还是不执行hello

xiaoxiao_cao 发表于 2016-8-5 14:04:17

puchonghui 发表于 2016-8-5 13:41
我记得vb的sendkeys是同步执行的,试试看加个参数行不行
WshShell.SendKeys "hello",True

不行还是不执行hello

seagull1985 发表于 2016-8-5 14:16:19

顶。。。。。

puchonghui 发表于 2016-8-5 17:02:51

xiaoxiao_cao 发表于 2016-8-5 14:04
不行还是不执行hello

你查下qtp的资料吧,如果代码没报错的话,不执行输入多半就是同步异步的问题,脚本已经执行到click了,前面sendkey没执行完。。。

puchonghui 发表于 2016-8-8 09:13:22

实在不行的话,在click之前加个WScript.Sleep 500

个人不太推荐这种做法,不过如果没其他解决办法的话-_-

nixiaohua41 发表于 2016-8-15 21:54:06

我试了一下,键盘是有输入hello的,但是由于是中文输入法,导致没有输进去,可以切换输入法为英文或者发送多一个回车键

xiaoxiao_cao 发表于 2016-8-26 16:00:29

我的QTP没有装WEB插件 AJAX。我刚才装了一下,然后重新执行,就能执行鼠标事件了。也不知道是不是这个原因
页: [1]
查看完整版本: QTP没有执行SendKeys键盘事件