如何在Python中控制鼠标光标,即移动到特定位置并单击,在Windows下?
当前回答
如果你需要玩游戏的话。正如本文https://www.learncodebygaming.com/blog/pyautogui-not-working-use-directinput中所解释的,像《我的世界》或《堡垒之夜》等游戏都有自己的鼠标/键盘事件注册方式。控制鼠标和键盘事件的方法是使用全新的PyDirectInput库。他们的github知识库是https://github.com/learncodebygaming/pydirectinput,有很多很棒的信息。 下面是一个快速的代码,执行鼠标循环,点击:
import pydirectinput # pip install pydirectinput
pydirectinput.moveTo(0, 500)
pydirectinput.click()
其他回答
尝试使用pyautogui,简单,也可以模拟键盘上的按键
尝试使用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的所有东西要容易得多。
从2022年开始,你可以使用鼠标:
import mouse
mouse.move("500", "500")
mouse.click() # default to left click
# mouse.right_click()
# mouse.double_click(button='left')
# mouse.double_click(button='right')
# mouse.press(button='left')
# mouse.release(button='left')
完整的Api文档
特性
所有鼠标设备上的全局事件钩子(捕获事件而不管 聚焦)。 监听并发送鼠标事件。 适用于Windows和Linux(需要sudo)。 纯Python,不需要编译C模块。 零依赖关系。简单的安装和部署,只需复制 文件。 Python 2 / 3 包括高级API(例如记录和播放)。 事件自动捕获在单独的线程,不阻塞主 程序。 测试并记录。
安装
Windows: pip安装鼠标 Linux: sudo pip install mouse
另一种选择是使用跨平台AutoPy包。这个包有两个不同的选项来移动鼠标:
这段代码片段将立即将光标移动到(200,200)位置:
import autopy
autopy.mouse.move(200,200)
如果你想让光标在屏幕上移动到一个给定的位置,你可以使用smooth_move命令:
import autopy
autopy.mouse.smooth_move(200,200)
测试在WinXP, Python 2.6(3。在安装pywin32(在我的情况下是pywin32-214.win32-py2.6.exe)后:
import win32api, win32con
def 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)
推荐文章
- 证书验证失败:无法获得本地颁发者证书
- 当使用pip3安装包时,“Python中的ssl模块不可用”
- 无法切换Python与pyenv
- Python if not == vs if !=
- 如何从scikit-learn决策树中提取决策规则?
- 为什么在Mac OS X v10.9 (Mavericks)的终端中apt-get功能不起作用?
- 将旋转的xtick标签与各自的xtick对齐
- 为什么元组可以包含可变项?
- 如何合并字典的字典?
- 如何创建类属性?
- 不区分大小写的“in”
- 在Python中获取迭代器中的元素个数
- 解析日期字符串并更改格式
- 使用try和。Python中的if
- 如何在Python中获得所有直接子目录