我正在尝试使用 pywinauto 自动化 Visual Basic 应用程序,后端 =“win32”。除了从组合框中选择一项之外,我可以处理所有事情。这个特定的组合框取决于另一个组合框的选择
这是代码:
app.ThunderRT6MDIForm.xxxxx.ComboBox3.select("abc") # this correctly selects from the combobox
app.ThunderRT6MDIForm.xxxxx.ComboBox4.select(1) #This one gives error
Run Code Online (Sandbox Code Playgroud)
以及相同的错误:
IndexError: Combobox has 0 items, you requested item 1 (0 based)
Run Code Online (Sandbox Code Playgroud)
控制标识符返回:
ComboBox - 'abc' (L136, T206, R376, B227)
| ['ComboBox3', 'abc co-brandingComboBox2']
| child_window(title="abc", class_name="ThunderRT6ComboBox")
|
| | Edit - '' (L139, T234, R356, B249)
| | ['abc co-brandingEdit10', 'Edit12']
| | child_window(class_name="Edit")
ComboBox - '' (L136, T157, R376, B178)
| ['4', 'ComboBox4']
| child_window(class_name="ThunderRT6ComboBox")
| |
| | Edit - '' (L139, T160, R356, B175)
| | ['5', 'Edit14']
| | child_window(class_name="Edit")
Run Code Online (Sandbox Code Playgroud)
我找到了解决此问题的临时方法。我发现按 Alt + Down 键打开组合框并给出列表。因此,我也在代码中使用了相同的逻辑,并且它有效!
app.ThunderRT6MDIForm.xxxxx.ComboBox4.Edit14.type_keys("%{DOWN}")
app.ThunderRT6MDIForm.xxxxx.ComboBox4.select("item")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12751 次 |
| 最近记录: |