无法在 Windows 8 或 10 上的特定 window 上使用 pywinauto 单击按钮

Unable to click button using pywinauto on a specific window on Windows 8 or 10

我正在使用 pywinauto.

对应用程序执行自动化测试

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

测试

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

我得到的错误是:

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 确认 window。您根本无法从任何脚本对其进行任何操作。请在您的 Win8/Win10 机器上禁用 UAC(至零级别)。这是 install/uninstall GUI 自动化的唯一途径。

Python 进程当然必须 运行 作为管理员。

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