You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pyautogui在VMware虚拟机中点击无效问题求助

解决Pyautogui无法点击VMware虚拟机内界面的问题

针对你遇到的Pyautogui能移动鼠标到虚拟机内坐标但无法执行点击的问题,以下是几种可行的解决思路:

  • 确保虚拟机窗口获得焦点并启用输入抓取
    Pyautogui的模拟点击依赖目标窗口处于前台激活状态。你可以在脚本中先激活VMware窗口,再执行点击操作:

    import pyautogui
    # 替换为你的VMware虚拟机窗口标题(可通过pyautogui.getAllTitles()查看)
    vm_windows = pyautogui.getWindowsWithTitle("VMware Workstation")
    if vm_windows:
        vm_windows[0].activate()
        pyautogui.sleep(1)  # 等待窗口完全激活
        pyautogui.click(1321, 540)
    

    同时,点击虚拟机窗口后按Ctrl+G手动抓取输入,或者在VMware设置中勾选“自动抓取输入”,确保输入事件能传递到虚拟机。

  • 关闭VMware的鼠标性能优化选项
    打开VMware虚拟机的设置面板,依次进入「选项」→「鼠标和键盘」,取消勾选「优化鼠标性能」(部分版本叫「自动释放鼠标」)。这个选项会隔离虚拟机与物理机的鼠标输入通道,导致Pyautogui的模拟点击无法被虚拟机识别。

  • 调整虚拟机内的显示缩放比例
    如果虚拟机的Windows系统开启了显示缩放(如125%、150%),会导致物理屏幕坐标和虚拟机内的实际坐标不匹配。进入虚拟机的「显示设置」,将「缩放与布局」设置为100%,重新获取计算器按钮的准确坐标后再测试。

  • 改用VMware官方工具模拟输入
    若系统级模拟始终无效,可以使用VMware提供的官方工具直接向虚拟机发送输入事件:

    • 使用vmrun命令行工具发送键盘输入(需确保vmrun已加入系统环境变量):
      vmrun -T ws sendKeys "D:\VMs\Windows10.vmx" "9"
      
    • 在Python中调用该命令:
      import subprocess
      subprocess.run(['vmrun', '-T', 'ws', 'sendKeys', 'D:\\VMs\\Windows10.vmx', '9'])
      

内容的提问来源于stack exchange,提问作者nel_junior000

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 00:39:53