【问题标题】:How to Click a Button with PyWinAuto如何使用 PyWinAuto 单击按钮
【发布时间】:2017-02-20 03:11:01
【问题描述】:

我正在尝试做一些事情(我认为)应该很简单我正在尝试选择一个名为“开始”的按钮。我一直在寻找描述如何单击按钮的文档(带有下降示例)。我一直找不到。无论如何,这是我得到的错误:

Traceback (most recent call last):
  File "C:\Python Scripts\TestVBApp2.py", line 18, in <module>
vbButton1 = ButtonWrapper(vbapp.Button.WrapperObject("Start")).Click
TypeError: WrapperObject() takes 1 positional argument but 2 were given

代码如下:

from pywinauto.application import Application
from time import sleep
from pywinauto.controls.win32_controls import ButtonWrapper
import pyautogui
pyautogui.FAILSAFE = True

app = Application().Start(cmd_line=u'"C:\\VBPrograms\\SimpleWPFApp.exe"')
app.MainWindow.Wait('ready')
vbapp = app.window_(title_re="MainWindow")
vbButton1 = ButtonWrapper(vbapp.Button.WrapperObject("Start")).Click

附件是带有“开始”按钮的应用截图。

【问题讨论】:

  • 我尝试使用 app.vbapp.print_control_identifiers()。回应是没有。
  • pywinauto 0.5.4 不支持 WPF(窗口上的任何控件都是不可见的,您可以使用 Spy++ 检查它)。但幸运的是,我们正在准备支持 MS UI 自动化的新版本 0.6.0。您对早期测试感兴趣吗?
  • 是的,我将成为 WPF 的早期测试人员。让我知道。你需要我的电子邮件地址吗?我有两个程序:一个是 WPF,另一个是 32 位程序。有没有我可以看的好例子? 32 位按钮点击需要什么?
  • 通过pip install -U https://github.com/pywinauto/pywinauto/archive/UIA.zip安装UIA分支,记事本和explorer.exe的例子在README prototype
  • 您可以在Gitter room 中留下您的反馈,或者直接在 GitHub 上提交问题。

标签: python button click pywinauto


【解决方案1】:

尝试把最后一行改成vbapp.Start.click()

【讨论】:

  • 这不是答案,这是评论。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-24
  • 1970-01-01
  • 2019-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多