为了账号安全,请及时绑定邮箱和手机立即绑定

用Python控制鼠标

/ 猿问

用Python控制鼠标

四季花海 2019-07-22 14:54:36

用Python控制鼠标

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



查看完整描述

3 回答

?
犯罪嫌疑人X

安装后,在WinXP上进行测试,Python2.6(3.x也测试过)pywin 32(在我的例子中,pywin32-214.win32-py2.6.exe):

import win32api, win32condef click(x,y):
    win32api.SetCursorPos((x,y))
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)click(10,10)


查看完整回答
反对 回复 2019-07-22
?
波斯汪

试着用PyAutoGUI模块。是多平台的。


pip install pyautogui

因此:


import pyautogui

pyautogui.click(100, 100)

它还具有其他特点:


import pyautogui

pyautogui.moveTo(100, 150)

pyautogui.moveRel(0, 10)  # move mouse 10 pixels down

pyautogui.dragTo(100, 150)

pyautogui.dragRel(0, 10)  # drag mouse 10 pixels down

这比浏览所有的win32con要容易得多。


查看完整回答
反对 回复 2019-07-22
?
慕哥347897

你可以用win32api或ctypes模块来使用Win 32 api来控制鼠标或任何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)

单击使用ctype:


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


查看完整回答
反对 回复 2019-07-22

添加回答

回复

举报

0/150
提交
取消
意见反馈 邀请有奖 帮助中心 APP下载
官方微信