首先需要学习,最好看官方文档,这是最详细的,但有时候却又难以贯通上下,所以如果官方文档看不懂,就稍微看一下人家的博客再参考官方文档,或许是一个还行的方式。
启动
import pywinauto
from pywinauto.application import Application
# 默认backend是win32,即Win32 API,另一种是MS UI Automation(uia)
# app = Application(backend="uia").start(ht_client_path)
app = Application(backend="win32").start(ht_client_path)
定位
有时候正常的win32定位无法获取的到控件位置,所以可以尝试用另一个backend试试。
dlg_spec = app['用户登录']
# 等待窗口显示完毕
actionable_dlg = dlg_spec.wait('visible')
print("dlg is ready")
# 用uia定位按钮,花了很多时间摸索
dlg = pywinauto.Desktop(backend="uia")
dlg.Pane.Button.click()
# 如何查看包含了哪些控件
dlg.print_control_identifiers()
输入和点击
dlg_spec.ComboBox.Edit.type_keys(ACCOUNT)
dlg_spec.Edit2.type_keys(TRADE_PASSWORD)
dlg_spec["确定(&Y)"].click()