我想记录有限次鼠标点击的 x 和 y 坐标并将其附加到列表中(在本例中为 10(这将是一个变量))。脚本通常需要记录在桌面、浏览器或应用程序上的点击。
我基本上是在尝试为一个更大的桌面自动化程序的灵活简单的宏部分创建一个坐标列表(非常简单和重复的工作,但布局确实发生了变化,这就是为什么重新记录坐标是关键)。
我搜索了“自动化无聊的东西”,但无法让 pyautogui 记录位置(它确实完美地执行了鼠标位置,但不是预记录列表)。此外,这不能像 pygame 中那样仅限于单个帧。
我是菜鸟,如有任何建议,我们将不胜感激。我已经包含了我收到的错误的图像。列表部分尚未包括在内,我稍后会添加。
from pynput import mouse
NumberOfMouseClicks = 0
def on_click(x, y, button, pressed):
print(x, y)
pynput.mouse.Listener.stop
while NumberOfMouseClicks < 10 :
NumberOfMouseClicks = NumberOfMouseClicks + 1
with mouse.Listener(on_click=on_click) as listener:
listener.join()
最佳答案
您还没有导入 pynput
包,只有 mouse
从中导入。
所以不是
pynput.mouse.Listener.stop
你应该使用
mouse.Listener.stop
鼠标事件在on_click
函数中处理,while
循环没有用。您可以这样使用它:
from pynput import mouse
class MyException(Exception):pass
NumberOfMouseClicks = 0
def on_click(x, y, button, pressed):
global NumberOfMouseClicks
print(x, y)
NumberOfMouseClicks = NumberOfMouseClicks + 1
if (NumberOfMouseClicks==10):
raise MyException(button)
with mouse.Listener(on_click=on_click) as listener:
try:
listener.join()
except MyException as e:
pass
关于python 列出鼠标点击坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43174133/