我遇到了 Windows 自动化问题。
背景:我需要自动化vPro远程桌面E2E流程,目标PC会弹出一个“用户同意”对话框来选择是否连接。我尝试使用 pyautogui 与此对话框交互,但似乎单击不起作用(我可以看到鼠标移动到目的地,并在单击功能后打印一条消息)。 我的代码如上:
pyautogui.click(x=int(point[-2]), y=int(point[-1]), duration=0.5, clicks=2)
# pyautogui.moveTo(x=int(point[-2]), y=int(point[-1]),duration=0.3)
# pyautogui.mouseDown()
# pyautogui.click()
# time.sleep(0.5)
# pyautogui.mouseUp()
print("done")
我也尝试通过pyautogui按键(因为在实际情况下,我可以直接按Enter键建立连接),它也不起作用
keyboard.send_keys('{ENTER}')
也许对话框位于不同的层,因此无论单击还是按键盘都不起作用?或者对话框与常见情况不同(我如何识别)?
我该如何解决这个问题?感谢您的观看和回复。
某些应用程序专门阻止程序向其发送虚拟点击和按键操作。 (例如,防病毒软件不希望脚本自动禁用它。)这很可能是您的对话框的问题。
此外,如果“用户同意对话框”指的是用户帐户控制 UAC 对话框,那么这些对话框是专门设计用于不允许脚本单击它们的。