如何在Python中控制鼠标光标,即移动到特定位置并单击,在Windows下?


当前回答

非常容易 1-安装包:

pip install mouse

2-添加库到项目:

import mouse

3-举个例子:

mouse.right_click()

在这个url中描述所有你可以使用它的函数:

https://github.com/boppreh/mouse

其他回答

快速和肮脏的函数,在Windows 7上使用ctypes库左键点击。无需下载。

import ctypes

SetCursorPos = ctypes.windll.user32.SetCursorPos
mouse_event = ctypes.windll.user32.mouse_event

def left_click(x, y, clicks=1):
  SetCursorPos(x, y)
  for i in xrange(clicks):
   mouse_event(2, 0, 0, 0, 0)
   mouse_event(4, 0, 0, 0, 0)

left_click(200, 200) #left clicks at 200, 200 on your screen. Was able to send 10k clicks instantly.

你可以使用win32api或ctypes模块来使用win32api来控制鼠标或任何gui

下面是一个使用win32api控制鼠标的有趣例子:

import win32api
import time
import math

for i in range(500):
    x = int(500+math.sin(math.pi*i/100)*500)
    y = int(500+math.cos(i)*100)
    win32api.SetCursorPos((x,y))
    time.sleep(.01)

使用ctypes进行单击:

import ctypes

# see http://msdn.microsoft.com/en-us/library/ms646260(VS.85).aspx for details
ctypes.windll.user32.SetCursorPos(100, 20)
ctypes.windll.user32.mouse_event(2, 0, 0, 0,0) # left down
ctypes.windll.user32.mouse_event(4, 0, 0, 0,0) # left up

在屏幕上随机移动鼠标

它会根据你的屏幕分辨率在屏幕上随机移动鼠标。 检查下面的代码。

使用此命令安装pip Install pyautogui。

import pyautogui
import time
import random as rnd

#calculate height and width of screen
w, h = list(pyautogui.size())[0], list(pyautogui.size())[1]

while True:
    time.sleep(1)
    #move mouse at random location in screen, change it to your preference
    pyautogui.moveTo(rnd.randrange(0, w), 
                     rnd.randrange(0, h))#, duration = 0.1)

另一种选择是鼠标库,我个人使用它,因为它相对简单和跨平台。

下面是你如何使用它:

import mouse
# move 100 right and 100 down with a duration of 0.5 seconds
mouse.move(100, 100, absolute=False, duration=0.5)
# left click
mouse.click('left')
# right click
mouse.click('right')

这是来源:如何在Python中控制鼠标

另一种选择是使用跨平台AutoPy包。这个包有两个不同的选项来移动鼠标:

这段代码片段将立即将光标移动到(200,200)位置:

import autopy
autopy.mouse.move(200,200)

如果你想让光标在屏幕上移动到一个给定的位置,你可以使用smooth_move命令:

import autopy
autopy.mouse.smooth_move(200,200)