Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 鼠标点击滚动_Python 3.x_Pynput - Fatal编程技术网

Python 3.x 鼠标点击滚动

Python 3.x 鼠标点击滚动,python-3.x,pynput,Python 3.x,Pynput,因此,我试图编写一个python程序,每当我用鼠标滚动时,它都会模拟鼠标右键单击。我试着使用pynput,这就是我所拥有的: from pynput.mouse import Button, Controller, Listener mouse = Controller() def on_scroll(x, y, dx, dy): mouse.click(Button.left) print('Scrolled {0}'.format( (x, y)))

因此,我试图编写一个python程序,每当我用鼠标滚动时,它都会模拟鼠标右键单击。我试着使用pynput,这就是我所拥有的:

from pynput.mouse import Button, Controller, Listener

mouse = Controller()

def on_scroll(x, y, dx, dy):
    mouse.click(Button.left)
    print('Scrolled {0}'.format(
        (x, y)))


with Listener(
        on_scroll=on_scroll) as listener:
    listener.join()
每次我运行这个程序并滚动时,我的电脑开始滞后,我的鼠标也开始滞后。然后,由于延迟,我不得不强制关闭我的计算机。我该怎么办

提前谢谢你

提到不应在滚动代码中设置阻止操作。因为我可以重现您的问题,所以我假设
鼠标点击(Button.left)
是一个阻塞动作

可通过以下方式显示:

from pynput.mouse import Controller, Events, Button

mouse = Controller()

if __name__ == '__main__':
    with Events() as events:
        for event in events:
            if isinstance(event, Events.Scroll):
                print(f'Scrolling event: {event}')
                mouse.click(Button.left)
            print(event)
这将在鼠标移动时正确运行,直到您开始滚动,之后它将陷入无限循环。我会尝试看看是否有其他解决方案,并将其编辑为答案,但目前我还没有找到

编辑
我现在还没有找到任何解决方案,这篇文章提到这个问题可能是操作系统特有的。我可以在Windows上复制您的声明,因此您可能希望在
pynput
他们的软件包页面上创建一个问题。

谢谢!就是这样:)正如解决方案中提到的,这是一次性修复。它将工作一次,然后程序挂起在
鼠标上。单击
。因此,我假设他们的代码中有一个更大的问题,那就是鼠标挂在Windows上。