python - 单击鼠标的最快方法
python - fastest way to click mouse
我正在尝试使用 pyautogui 在 python 中制作一个自动点击机器人,但这需要太多时间(它循环运行,并且 xPos/yPos 每次都会更改)。有什么更快的方法?感谢您的帮助。
pyautogui.PAUSE = 0.001
pyautogui.click(xPos,yPos,button = 'left')
您可以使用 pynput
:
from pynput import mouse
from pynput.mouse import Controller, Button
import time
mouse = Controller()
one = time.time_ns()
for i in range(1000):
mouse.click(Button.left)
two = time.time_ns()
print(two-one)
使用此设置我可以在 0.53 秒内执行 1000 次点击。
我正在测试三个库:Pyautogui、Mouse 和 Pynput。
库链接:
下面的代码和结果:
PYAUTOGUI 版本:
import pyautogui
def click_pyautogui(x, y, button):
pyautogui.moveTo(x, y)
pyautogui.click(button=button)
鼠标版本:
import mouse
def click_mouse(x, y, button):
mouse.move(x, y, absolute=True)
mouse.click(button=button)
PYNPUT 版本:
from pynput.mouse import Button, Controller
def click_pynput(x, y, button):
mouse = Controller()
mouse.position = (x, y)
button = Button.left if button=='left' else Button.right
mouse.click(Button.left)
包装器:
def click(x, y, button):
# pyautogui
# click_pyautogui(x, y, button)
# mouse
# click_mouse(x, y, button)
# pynput
click_pynput(x, y, button)
import timeit
if __name__ == '__main__':
print(timeit.timeit("click(random.randrange(100), random.randrange(100), 'left')", number=100, globals=locals()))
结果 100 次循环的时间(3 次的平均值,变化非常小):
- Pyautogui:22.07 秒
- 鼠标:0.16 秒
- Pynput:0.20 秒
鼠标看起来是最快的库!
我正在尝试使用 pyautogui 在 python 中制作一个自动点击机器人,但这需要太多时间(它循环运行,并且 xPos/yPos 每次都会更改)。有什么更快的方法?感谢您的帮助。
pyautogui.PAUSE = 0.001
pyautogui.click(xPos,yPos,button = 'left')
您可以使用 pynput
:
from pynput import mouse
from pynput.mouse import Controller, Button
import time
mouse = Controller()
one = time.time_ns()
for i in range(1000):
mouse.click(Button.left)
two = time.time_ns()
print(two-one)
使用此设置我可以在 0.53 秒内执行 1000 次点击。
我正在测试三个库:Pyautogui、Mouse 和 Pynput。 库链接:
下面的代码和结果:
PYAUTOGUI 版本:
import pyautogui
def click_pyautogui(x, y, button):
pyautogui.moveTo(x, y)
pyautogui.click(button=button)
鼠标版本:
import mouse
def click_mouse(x, y, button):
mouse.move(x, y, absolute=True)
mouse.click(button=button)
PYNPUT 版本:
from pynput.mouse import Button, Controller
def click_pynput(x, y, button):
mouse = Controller()
mouse.position = (x, y)
button = Button.left if button=='left' else Button.right
mouse.click(Button.left)
包装器:
def click(x, y, button):
# pyautogui
# click_pyautogui(x, y, button)
# mouse
# click_mouse(x, y, button)
# pynput
click_pynput(x, y, button)
import timeit
if __name__ == '__main__':
print(timeit.timeit("click(random.randrange(100), random.randrange(100), 'left')", number=100, globals=locals()))
结果 100 次循环的时间(3 次的平均值,变化非常小):
- Pyautogui:22.07 秒
- 鼠标:0.16 秒
- Pynput:0.20 秒
鼠标看起来是最快的库!