windows 桌面GUI自动化- 12.pywinauto 组合框控件ComboBox操作
前言
pywinauto 组合框控件ComboBox操作
场景
记事本-另存为-编码选择,下图这种就是 组合框控件ComboBox
select 选择
官网给的教程是通过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步操作更接近我们真实手工操作。