基于Python+PyWinAuto,能否在窗口内模拟坐标点击?
PyWinAuto窗口内坐标模拟点击方案
当然可以在窗口内通过坐标模拟点击,你需要替换掉click_input()方法,改用控件/窗口的click()方法——这个方法是基于窗口客户区相对坐标的,而非屏幕全局坐标。
代码调整示例
把你原来的代码:
app.SomeChildWindow.click_input(coords=(15,15))
改成:
app.SomeChildWindow.click(coords=(15,15))
关键区别说明
click():PyWinAuto原生的控件操作方法,会自动将你传入的窗口相对坐标转换为对应的屏幕坐标,确保点击落在目标窗口的指定位置,哪怕窗口移动也不受影响。click_input():调用系统输入模拟接口,完全基于屏幕全局坐标,和PyAutoGUI的逻辑一致,所以之前的操作其实是点击屏幕上(15,15)的位置,而非目标窗口内的对应点。
如果是针对顶层窗口操作,用法同理:
app.window(title="目标窗口标题").click(coords=(x, y))
内容的提问来源于stack exchange,提问作者likel0vsky
相关产品推荐
相关产品推荐

