pywinauto 组合框控件ComboBox操作
记事本-另存为-编码选择,下图这种就是 组合框控件ComboBox
官网给的教程是通过select 选择选项
示例
from pywinauto import Application
app = Application('uia').start("notepad.exe")
win = app.window(title_re="无标题 - 记事本")# 输入内容win.child_window(title="文本编辑器").set_text("hello world")# 文件-另存为win.menu_select('文件(F) -> 另存为(A)...')# 操作弹出文件选择框save_win = win.child_window(title="另存为", control_type="Window")# select 选择ComboBox 选项save_win.child_window( title="编码(E):", control_type="ComboBox").select("UTF-8")
虽然也能选成功,但是屏幕会闪烁3下
click_input()
点选项另外一种解决方法思路是先点开选项,再选中里面的选项
from pywinauto import Application
app = Application('uia').start("notepad.exe")
win = app.window(title_re="无标题 - 记事本")# 输入内容win.child_window(title="文本编辑器").set_text("hello world")# 文件-另存为win.menu_select('文件(F) -> 另存为(A)...')# 操作弹出文件选择框save_win = win.child_window(title="另存为", control_type="Window")# # select 选择ComboBox 选项# save_win.child_window(title="编码(E):", control_type="ComboBox").select("UTF-8")## 1.先点开选项save_win.child_window(title="编码(E):", control_type="ComboBox").click_input()# 2.选择内容save_win.child_window(title="UTF-8", control_type="ListItem").click_input()
分2步操作更接近我们真实手工操作。