我需要在名为Arthropod的Adobe Air应用程序中单击名为“save”的按钮。我可以使用以下命令在bat文件中启动应用程序:
cd C:\Program Files\Arthropod
start /w Arthropod.exe
弹出后,UI上有一个保存按钮。如何使用bat文件单击它?
我正在读这个:
http://www.ehow.com/how_7788761_press-buttons-batch-file.html
展示了如何模拟MS Word中文件菜单和其他标签的点击次数,但是如何在任何其他按钮上执行此操作?
P.S。按钮上的文字是“保存”,这是我能想到的唯一标识符。有没有什么是批处理我可以说(伪代码):
$('button[text="Save"]').click();
答案 0 :(得分:12)
没有本地方法可以干净利落地完成这项工作。
但是你可以使用VBS
来模拟击键,类似于AutoIT,但是没有灵活性。在Plus方面,您无需下载VBS。自95年以来,它已被包含在Windows的每个版本中。
我提供了一个启动notepad.exe
的示例,然后在其中键入以下内容:
Hello World!
abcDEF
。
以下单行称为LaunchNotepad.bat
:
cscript /nologo LaunchNotepad.vbs
。
以下是LaunchNotepad.vbs
:
' Create WScript Shell Object to access filesystem.
Set WshShell = WScript.CreateObject("WScript.Shell")
' Start / Run NOTEPAD.EXE
WshShell.Run "%windir%\notepad.exe"
' Select, or bring Focus to a window named `NOTEPAD`
WshShell.AppActivate "Notepad"
' Wait for 5 seconds
WScript.Sleep 5000
WshShell.SendKeys "Hello World!"
WshShell.SendKeys "{ENTER}"
WshShell.SendKeys "abc"
WshShell.SendKeys "{CAPSLOCK}"
WshShell.SendKeys "def"
请注意,如果有一个或多个Notepad.exe
实例已打开,打开记事本需要5秒以上,则上面的代码可能会选择记事本的最后一个活动实例并输入。< / p>
要使VBS
代码按您的需要工作,您需要学习如何通过键盘浏览Adobe Air。通常选项卡和/或箭头键就足够了。有时您可能需要使用 ALT 键进入菜单。
此外,您实际上可以使用一系列键盘命令,例如 ALT + F S ENTER ,甚至是键盘快捷键,如 CTRL + S 。
发送 TAB , ALT + F , CTRL + S :
WshShell.SendKeys "{TAB}" ' TAB TAB Key
WshShell.SendKeys "%F" ' ALT-F (F)ile Menu
WshShell.SendKeys "^S" ' CTRL-S Save File
WshShell.SendKeys "%(Fa){ENTER}" ' ALT-F+ALT-A ENTER (F)ile -> Save (A)s -> (ENTER)
WshShell.SendKeys "{UP}" ' Up Arrow Up Arrow
WshShell.SendKeys "{DOWN}" ' Down Arrow Down Arrow
WshShell.SendKeys "{LEFT}" ' Left Arrow Left Arrow
WshShell.SendKeys "{RIGHT}" ' Right Arrow Right Arrow
答案 1 :(得分:4)
您可以使用AutoIt执行此操作。您可以生成一个脚本,单击“保存”按钮,然后从批处理文件中调用生成的EXE文件。
答案 2 :(得分:1)
Winbatch是另一个可以发送击键的程序,但与AutoIt不同,我不相信它是免费的。
答案 3 :(得分:0)
您无法使用bat文件自动执行按钮点击。如果可能的话,您仍然需要某种用于Adobe Air的API来访问控件本身。但是,如果此按钮有键盘快捷键,您可以模拟击键并将其发送到应用程序。