如何通过命令行填写GUI应用中的文本框?
我正在用python设计一个NLP(自然语言处理)应用程序,我想使用一个叫UNL(通用网络语言)的EnConverter,这个工具是一个可执行的图形界面第三方应用,只能在windows上运行(我没有它的源代码):
我想知道的是,怎么编写一个控制台应用程序来调用这个EnConverter,并点击“设置”按钮,然后填充下面图片中的文本框:
当我点击“设置”按钮时,之前的窗口会弹出来……我希望我的应用程序能填充这些文本框,然后点击“确定”按钮……
点击“确定”按钮后,应用程序会返回到第一个窗口……我应用程序的最后一步是点击第一个窗口中的“EnConvert”按钮……请看第一张图片。
我知道这是可能的,因为我的教授在Perl中做过这个……但他拒绝告诉我怎么做!!!我在网上查了很多,但什么也没找到!
3 个回答
1
Windows Sendkey这个工具包看起来非常适合这种需求。
在这个页面上:
这个例子中,SendKeys被用来在记事本中输入“Hello World!”。
import SendKeys
SendKeys.SendKeys("""
{LWIN}
{PAUSE .25}
r
Notepad.exe{ENTER}
{PAUSE 1}
Hello{SPACE}World!
{PAUSE 1}
%{F4}
n
""")
3
你可以使用 PyWinAuto 这个工具。它可以识别界面上的小部件,比如按钮,还能点击按钮、在图形界面上输入文字等等。
4
你可以使用 Win32::GuiTest 这个工具。它可以识别界面上的小部件,比如按钮,还能点击按钮、在图形界面上输入文字等等。