vbscript sendkeys仅在系统重新启动后工作一次

vbscript sendkeys仅在系统重新启动后工作一次,vbscript,qtp,sendkeys,Vbscript,Qtp,Sendkeys,我这里有一个奇怪的情况,我无法找到原因并修复 我使用HP UFT 11.52编写了一个脚本,用于在IE8上测试.net web应用程序 代码如下: If Browser(x).Page(x).Frame(x).WebEdit(abc).Exist(0) Then Browser(x).Page(x).Frame(x).WebEdit(abc).Click Set objSSN=Createobject("Wscript.Shell") objSSN.SendKeys" "

我这里有一个奇怪的情况,我无法找到原因并修复

我使用HP UFT 11.52编写了一个脚本,用于在IE8上测试.net web应用程序

代码如下:

If Browser(x).Page(x).Frame(x).WebEdit(abc).Exist(0) Then
    Browser(x).Page(x).Frame(x).WebEdit(abc).Click
    Set objSSN=Createobject("Wscript.Shell")
    objSSN.SendKeys" "
    Set objSSN=Nothing
    Browser(x).Page(x).Frame(x).WebEdit(abc).Object.Focus()
    Browser(x).Page(x).Frame(x).WebEdit(abc).Set 100-10-1000
End If
启动windows笔记本电脑后运行脚本时,此代码运行良好。如果我第二次运行相同的代码,代码将不会进入空格,因此不会进入SSN。现在需要输入空格,因为单击webedit将导致空白选择,因此如果我使用脚本输入内容,则会给出错误的数据

我的队友在虚拟机上运行这些脚本,在他的机器上运行这个脚本没有问题。所以我怀疑IE或windows中的某些设置需要修改


谁能帮我确定问题。

要使用QTP在文本框中输入SSN,我们真的需要单击并聚焦吗

下面的脚本应该可以

If Browser(x).Page(x).Frame(x).WebEdit(abc).Exist(0) Then
    Browser(x).Page(x).Frame(x).WebEdit(abc).Set "100-10-1000"
End If

尝试更改空格,然后设置空格,而不是发送空格

If Browser(x).Page(x).Frame(x).WebEdit(abc).Exist(0) Then
    Setting.WebPackage("ReplayType") = 2 
    Browser(x).Page(x).Frame(x).WebEdit(abc).Set " " ' This may not be needed
    Browser(x).Page(x).Frame(x).WebEdit(abc).Set "100-10-1000"
    Setting.WebPackage("ReplayType") = 1 
End If

我试过上面你提到的代码Vinoth。但它不起作用,然后我尝试sendkeys并进入一个空间,它起作用了。但现在问题似乎不同了,它只在我重新启动windows后第一次起作用。当你说它不起作用时,到底发生了什么?我不理解在您的情况下使用
sendkeys
。如果您需要SSN文本框中的空格,
Browser(x).Page(x).Frame(x).WebEdit(abc).Set”“
。如果我不加空格,只设置值,那么它有时随机设置值,有时不设置。如果手动单击该字段,它不会直接显示光标闪烁,而是选择整个webedit的空白。我必须再次手动单击以显示光标。如果我没有重复与我提到的手动步骤完全相同的步骤,它将不会在字段中输入数据。所以我想一个空间角色会有帮助,它可以工作,不管你说的是什么行为-这就是它应该工作的方式吗?