【问题标题】:Unable to click button using pywinauto on a specific window on Windows 8 or 10无法在 Windows 8 或 10 的特定窗口上使用 pywinauto 单击按钮
【发布时间】:2015-10-22 02:03:15
【问题描述】:

我正在使用 pywinauto 对应用程序进行自动化测试。

它在应用程序的每个窗口都成功运行,但由于某种原因,它无法在 Windows 8 和 Windows 10 上单击安装向导上的按钮。它适用于 Windows 7。

经过测试

  • python 2.7.10.amd64
  • pywinauto 0.5.3
  • Windows 10 x64

我可以获得按钮坐标、文本和所有其他信息,但是我无法对其执行任何操作(单击、按键)

我得到的错误是:

File "C:\Python27\Lib\site-packages\pywinauto\controls\HwndWrapper.py", line 900, in ClickInput self, button, coords, double, wheel_dist = wheel_dist, use_log = use_log, pressed = pressed, absolute = absolute)  
File "C:\Python27\Lib\site-packages\pywinauto\controls\HwndWrapper.py", line 1778, in _perform_click_input  win32api.SetCursorPos((coords[0], coords[1])) pwintypes.error: (0, 'SetCursorPos', 'No error message is available')

谢谢!

【问题讨论】:

  • 是UAC确认窗口吗?

标签: python pywinauto


【解决方案1】:

您似乎正在尝试点击 UAC 确认窗口。您根本无法从任何脚本对它执行任何操作。请在您的 Win8/Win10 机器上禁用 UAC(至零级)。这是安装/卸载 GUI 自动化的唯一方法。

Python 进程当然必须以管理员身份运行。

顺便说一句,一些安装程序允许静默模式(msiexec.exe /i [MSI_path]setup.exe /S 用于 NullSoft (NSIS) 安装程序)。当然,如果您正在测试安装程序 GUI 本身,情况并非如此。

【讨论】:

  • 嗨 Vasily,我正在禁用 UAC 窗口进行测试。
  • Python 是否也以管理员身份运行?
  • 不是。我设法以管理员身份运行它,但是出现了另一个问题。它启动两个安装向导。我需要对此进行调查。更大的问题现在已经解决了。感谢您的帮助!
  • 好的,反映在答案中。该案例可能对其他人有用,因此请点赞。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-30
  • 2020-04-07
  • 1970-01-01
  • 2017-02-20
  • 2019-01-24
相关资源
最近更新 更多