如何让pywinauto在后台工作?
How to make pywinauto work in background?
我想在后台使用pywinauto以避免干扰我的工作。
随着自动化开始,我需要停止所有工作。
如何让pywinauto在后台静默运行?
并非总是可以默默地做所有事情。有些方法不需要真正的点击,但无论如何你必须重新编写脚本。
click_input
和派生方法只能与聚焦 window 以及 type_keys
方法一起使用。其他一些方法可能会使 window 成为焦点(尤其是 "uia" 后端),具体取决于它们的应用端实现。
一种可能的解决方案是使用虚拟机或远程机器,但您必须将脚本复制到此 VM 并在那里准备 Python 环境。如需进一步指导,我建议阅读 pywinauto's Remote Execution Guide.
backend="win32"
的良好背景脚本示例已在几年前发布在 Whosebug 上(Notepad++ 自动化)。只需将它与 pywinauto==0.6.5 对齐:
我认为 type_keys() 需要将目标 window 设置为前景。
send_keystrokes() 保留目标 window 背景。
尚未测试鼠标点击,仅适用于键盘输入。
window10 与 python3.7
from pywinauto import Application
app = Application(backend="win32").connect(process=12345)
form = app.window(title_re="windowtitle")
for i in range(0,10):
form.send_keystrokes(str(i))
time.sleep(0.5)
form.send_keystrokes('{ENTER}')
我想在后台使用pywinauto以避免干扰我的工作。
随着自动化开始,我需要停止所有工作。
如何让pywinauto在后台静默运行?
并非总是可以默默地做所有事情。有些方法不需要真正的点击,但无论如何你必须重新编写脚本。
click_input
和派生方法只能与聚焦 window 以及 type_keys
方法一起使用。其他一些方法可能会使 window 成为焦点(尤其是 "uia" 后端),具体取决于它们的应用端实现。
一种可能的解决方案是使用虚拟机或远程机器,但您必须将脚本复制到此 VM 并在那里准备 Python 环境。如需进一步指导,我建议阅读 pywinauto's Remote Execution Guide.
backend="win32"
的良好背景脚本示例已在几年前发布在 Whosebug 上(Notepad++ 自动化)。只需将它与 pywinauto==0.6.5 对齐:
我认为 type_keys() 需要将目标 window 设置为前景。 send_keystrokes() 保留目标 window 背景。 尚未测试鼠标点击,仅适用于键盘输入。 window10 与 python3.7
from pywinauto import Application
app = Application(backend="win32").connect(process=12345)
form = app.window(title_re="windowtitle")
for i in range(0,10):
form.send_keystrokes(str(i))
time.sleep(0.5)
form.send_keystrokes('{ENTER}')