python - 使用pywinauto点击对话框取消按钮

标签 python windows pywinauto

我遇到过这样一种情况,如果将受密码保护的 .ppt 文件传递​​给 PowerPoint 的自动化进程,它就会挂起。我已经使用 pywinauto 编写了一个脚本来检测何时发生这种情况并连接到“密码”对话框,但我似乎无法让它单击“取消”按钮。

这是我在“输入密码”对话框中看到的控件标识符:

NUIDialog - 'Password'    (L649, T422, R999, B553)
['NUIDialog', 'Password', 'PasswordNUIDialog']
child_window(title="Password", class_name="NUIDialog")
   |
   | NetUIHWND - ''    (L657, T453, R991, B545)
   | ['NetUIHWND', 'PasswordNetUIHWND']
   | child_window(class_name="NetUIHWND")
   |    |
   |    | NetUICtrlNotifySink - ''    (L728, T495, R983, B510)
   |    | ['PasswordNetUICtrlNotifySink', 'NetUICtrlNotifySink']
   |    | child_window(class_name="NetUICtrlNotifySink")
   |    |    |
   |    |    | RICHEDIT60W - ''    (L728, T495, R983, B510)
   |    |    | ['PasswordRICHEDIT60W', 'RICHEDIT60W']
   |    |    | child_window(class_name="RICHEDIT60W")
   |    |
   |    | RICHEDIT60W - ''    (L728, T495, R983, B510)
   |    | ['PasswordRICHEDIT60W', 'RICHEDIT60W']
   |    | child_window(class_name="RICHEDIT60W")
   |
   | NetUICtrlNotifySink - ''    (L728, T495, R983, B510)
   | ['PasswordNetUICtrlNotifySink', 'NetUICtrlNotifySink']
   | child_window(class_name="NetUICtrlNotifySink")
   |    |
   |    | RICHEDIT60W - ''    (L728, T495, R983, B510)
   |    | ['PasswordRICHEDIT60W', 'RICHEDIT60W']
   |    | child_window(class_name="RICHEDIT60W")
   |
   | RICHEDIT60W - ''    (L728, T495, R983, B510)
   | ['PasswordRICHEDIT60W', 'RICHEDIT60W']
   | child_window(class_name="RICHEDIT60W")

我尝试执行 password_dialog.NetUICtrlNotifySink.Click() 但没有任何反应。有什么想法吗?

最佳答案

我建议对所有 MS Office 产品使用 Application(backend="uia")。它应该会看到更多控件。

关于python - 使用pywinauto点击对话框取消按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50956800/

相关文章:

python - modify_instance_attribute() 只接受关键字参数

c - 运行机器代码时出现模糊的运行时错误

python - (Pywinauto) 当您不知道新窗口的名称时如何连接到新窗口

python - 这些四叉树库中的任何一个都好吗?

python - 基本 Pygments 示例不起作用

windows - OneNote 如何访问从 Firefox 复制文本的 url,我如何在我的应用程序中使用它

python - Pywinauto:无法将窗口带到前台

python - 通过 pywinauto 上的位置获取控制

python - 值错误 : Linkage 'Z' uses the same cluster more than once in Python scipy fcluster

sql-server - Windows 10 通用应用程序从 SQL Server 获取数据