1

因此,每当我按下鼠标左键时,我都会尝试模拟多次鼠标左键单击。但是,每当我运行我的代码时,我的鼠标就会开始缓慢地传送/移动。我实际上是在使用 pycharm IDE 运行这段代码。

我想也许我每次按下鼠标都会发送太多命令,所以我决定在每次点击之间添加一个睡眠,以查看行为。不幸的是,该程序仍然以相同的方式运行。

from pynput.mouse import Listener,Controller, Button
import time
mouse = Controller()

def on_click(x, y, button, pressed):
    if pressed and button == Button.left:
        mouse.click(Button.right,2)
        time.sleep(2)
        print("stop")




with Listener( on_click=on_click) as listener:
    listener.join() 

我知道代码还没有完成,但我的最终目标是模拟多次单击,间隔约为 0.05 秒,同时按住鼠标左键。

谢谢,

4

1 回答 1

0

尝试使用pyautogui而不是pynput.mouse.

快速抬头我不擅长python。另外,我知道我迟到了,因为它已经一年多了,但如果这不适合你,它也适合未来偶然发现这个问题/问题的人。

在查看代码并运行它之前,我们需要做一个pip install.

在控制台/终端类型中

pip install pyautogui

在您的情况下,您使用的是 PyCharm。只需安装软件包pyautogui

伟大的!现在您可以查看代码:

import pyautogui

#You can change the clicks. 
pyautogui.click(clicks=10)

对于您所说的模拟每秒 0.05 的间隔。我不知道如何帮助你。也许尝试反复试验。

import pyautogui

seconds_for_clicking = 5

#This is for converting to actual seconds
seconds_for_clicking = seconds_for_clicking * 9
for i in range(seconds_for_clicking):

    #You can change the clicks. 
    pyautogui.click(clicks=10)
    #Maybe try this. In this case I think that you have to try trial and error. Change the number to whatever you want.
    time.sleep(0.05)
``

Hope this helps :D

于 2021-04-13T21:47:21.093 回答