网页中用vbscript的sendkeys方法模拟键盘输入失败?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网页中用vbscript的sendkeys方法模拟键盘输入失败?相关的知识,希望对你有一定的参考价值。

首先是在网页中打开记事本,然后模拟键盘输入,具体代码如下:
<html>
<head>
<title>VBScript</title>
</head>
<body>
<script type="text/vbscript">
Dim WshShell,app
set WshShell = CreateObject("WScript.Shell")
app=WshShell.Run("notepad")
WScript.Sleep 2000
alert("Hello")
WshShell.AppActivate app
WScript.Sleep 1000
WshShell.SendKeys "happy"
</script>
</body>
</html>
我用alert("Hello")这句来测试,发现程序执行到sleep时就无法往下执行了。能开记事本,不能完成输入。请高手指点一下,是不是sleep的问题,还是什么问题?是不是网页中的问题,浏览器问题等。网上又类似的程序,不过还是不行。

写错了吧WScript.Sleep
WshSell.Sleep 1000 是不是这样?

好像没有这个方法。
只能用 window.setTimeout 方法

<script type="text/vbscript">
Dim WshShell,app
set WshShell = CreateObject("WScript.Shell")
app=WshShell.run("notepad")
'’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’WScript.Sleep 2000
alert("Hello")
WshShell.AppActivate app
window.setTimeout "fn" ,2000
'‘’‘’‘’‘’‘’‘’‘’‘’‘WScript.Sleep 1000
sub fn()
WshShell.SendKeys "happy"
end sub
</script>

能凑活
参考技术A vbscript中没有alert这个函数吧,应该用msgbox。
"wscript.sleep 2000“能用在VBS中,网页中没有wscript对象。
采用settimeout对象实现延时,但是要去掉弹出信息框那句:
<html><head><title>VBScript</title></head>
<body>
<script type="text/vbscript">
Dim WshShell,app
set WshShell = CreateObject("WScript.Shell")
app=WshShell.Run("notepad")
'延时2秒后执行后面的“激活窗口,延时1秒后发送按键”
settimeout "WshShell.AppActivate app:settimeout ""WshShell.SendKeys(""""happy"""")"",1000",2000
</script>
</body>
</html>

vba模拟键盘操作?

怎么用vba模拟键盘操作其它程实,只要实现同键盘一样的功能就好,比如w a s d 及esc键

参考技术A 方法/步骤分步阅读
1
/5
打开Excel,按下Alt+F11,打开VBA编辑界面,如下图所示。
2
/5
Excel中VBA可以使用Sendkeys函数模拟键盘的输入,输入的字符直接作为函数的参数即可,如SendKeys "ABC",是直接模拟键盘输入字符串“ABC”,如下图所示。
3
/5
如果是模拟键盘输入功能键,则可以直接用大括号+键名即可,如SendKeys "Enter"是模拟键盘按下Enter键,如下图所示。
4
/5
如果输入组合键,则可以使用键名+键名的形式,也可以使用缩写形式,如SendKeys "^g"是模拟键盘按下Ctrl+G组合键,如下图所示。
5
/5
回到Excel中,执行宏,则会在所选单元格中输入“ABC”,然后按下Enter键,再按下Ctrl+G组合键,结果如下图所示。
总结:
1
/1
1.打开Excel,按下Alt+F11;
2.输入字符串,使用如SendKeys "ABC";
3.按下功能键,使用如SendKeys "Enter";
4.按下组合键,使用如SendKeys "^g";
5.执行代码,就模拟键盘输入了代码中的字符或按键。

以上是关于网页中用vbscript的sendkeys方法模拟键盘输入失败?的主要内容,如果未能解决你的问题,请参考以下文章

初识AutoIt

.NET(C#) SendKeys模拟键盘按键不生效使用WinAPI的替代方案

C# 模拟键盘操作SendKey(),SendKeys() / C# SendKeys用法

UI自动化测试AutoIT工具使用和robot对象模拟键盘按键操作

vba模拟键盘操作?

C# SendKeys 模拟按键输入为啥不能向DNF中模拟,比如在图中放个技能,根本没反应