python使用pyautogui控制鼠标与键盘(无屏幕内容)

这篇具有很好参考价值的文章主要介绍了python使用pyautogui控制鼠标与键盘(无屏幕内容)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:

        若是读者学过爬虫工具Selenium,对pyautogui必能快速上手,只需要不断实践复习即可熟练掌握。若是没学过当然没关系,我会以初学者的角度尽可能详细地向你解读新手遇到的许多问题。

        请注意:在本文章中,我会import pyautogui as auto        

        在本内容中,我会使用最为常用的属性、方法,若是有其他的功能想要实现,请询问GPT或文心一言,在AI那里会得到详细的回答,我只是作为一个初学者把某些晦涩难懂的概念以一个更为通俗易懂的角度说明白。

        若是认为本文章有可以改进的地方,希望能够给我留个言,我希望借此机会提升我的编写能力,将来我也会通过发布文章的方式来进行学习,非常感谢!

提醒事项

        由于涉及到鼠标的控制,用户可能会因为程序设计错误对鼠标拾取控制,造成程序失控甚至无法使用鼠标结束程序,最后可能需要使用下列方式结束程序:

        1、Windows: Ctrl + Alt + Del        MacOS: Command + Shift + Option + Q

        2、在设计程序的时候,每次启用pyautogui的方法之后设定暂停3秒再继续下一步

pyautogui.PAUSE = 3

        3、直接按下Ctrl + C ,让程序产生KeyboardInterrupt异常从而终止(建议使用)

预备知识:屏幕坐标

        对鼠标而言,屏幕坐标的原点在屏幕左上角(0,0),即平面直角坐标系的第四象限。根据自己屏幕的像素不同,右下角对应的x和y的值也不同

import pyautogui as auto

width, height = auto.size()
print(width, height)

通过以上代码,可以获得屏幕的像素规格。 

鼠标的相关操作

import pyautogui as auto
import time
# 获得当前的x和y坐标
xaxis, yaxis = auto.position()
print(f"你最初的鼠标位置是:{xaxis},{yaxis}")

# 以绝对位置移动鼠标到指定位置    duration:持续时间
auto.moveTo(x=10, y=0, duration=0.5)
auto.moveTo(900, 600, 1)
auto.moveTo(900, 0, 0.5)
auto.moveTo(0, 600, 1)

# 以相对位置移动鼠标 moveRel中的Rel代表的是relative:相对的
auto.moveRel(xOffset=300, yOffset=0, duration=0.5)
auto.moveRel(600,200,0.5)

# 鼠标点击操作,参数为1、x坐标   2、y坐标   3、所选按键  4、移动到目标坐标所用时间
# 5、点击次数    6、鼠标点击之间的间隔
auto.click(x=2900, y=1950, button="left", duration=0.5, clicks=2, interval=1)
auto.moveTo(2100,1950,duration=0.2)
#
auto.mouseDown(button='left')  # 使用mousedown来实现鼠标按住操作
time.sleep(1)   # 保持鼠标左键按住不动1秒
auto.mouseUp()  # 松开鼠标,此处我把鼠标放在图标上,却没有打开菜单,不知道为什么

time.sleep(5)   # 给我个时间打开系统自带的画图软件以便展示拖拽
auto.moveTo(1000,1000)
auto.dragTo(1500,1500)  # 按住鼠标左键拖拽到目标坐标

time.sleep(5)   # 在5秒内自行打开浏览器查看效果
auto.scroll(-200)   # 执行这一条之后我用浏览器测试却只向下滚动了接近450像素点

以上代码的坐标是基于我电脑的坐标,我的电脑的分辨率是3200*2000 ,请读者根据自身电脑设置坐标

注意事项:

        1、在执行一条会让鼠标移动到屏幕的四个顶点的时候,程序会自动终止。这是为了防止程序出现错误从而导致用户无法关闭程序而设置的安全防护,所以请不要碰到屏幕的四个顶点。若一定要碰,请百度查询解决方案。

        2、不建议使用moveRel这类相对移动方法,因为我们可以自行用微信截图来获取屏幕上任何一个位置的具体坐标。

        3、通过一个click() 方法我们可以实现鼠标双击或多击的操作,也可以实现右键、中键的操作

        通过调整button = '?' 来实现        可选left middle right        默认是left

        4、mouseDown() 方法可以配合time.sleep(n)来实现长按几秒

        5、moveTo() 方法会自动将鼠标抬起然后移动到其他的位置,所以不可以用mouseDown和moveTo两个方法来实现拖拽的功能,只能依靠dragTo。

        6、滚动功能scroll中的参数为正时表示鼠标滚轮向上滚动,为负即为向下滚动。但是目前我不清楚这个参数代表什么,设置为2000在我这里只能滚动差不多450像素点的内容。

 

键盘的相关操作

import pyautogui as auto
import time
# 获得当前的x和y坐标
xaxis, yaxis = auto.position()
print(f"你最初的鼠标位置是:{xaxis},{yaxis}")

print(("请在5秒内打开记事本以让程序模拟键盘输入"))
time.sleep(5)

# 传入一段文字,设置每0.1秒传入一个字符
auto.typewrite(message='hello', interval=0.1)
# 传入列表、元组也可以,因为传入是按照一个一个字符进行的
auto.typewrite(['w','o','r','l','d'], 0.1)

auto.keyDown('h')   # 按下h键不动
# 虽然按住h键保持1秒,但是也只能输出一个字符,因为此方法只能用来模拟键盘操作,不能用来传入字符串
time.sleep(1)
auto.keyUp('h')     # 按下了h键,使用结束自然要放开按键

# 表达特殊按键
auto.typewrite(['M','n','g','left','left','i'],0.1)
auto.keyDown('shift')
auto.press('8')     # 按下8键后松开
auto.keyUp('shift')

 注意事项:

        1、typewrite() 用来输入文本        keyDown()和keyUp() 都只是用来操作按键,不能用来输入文本        press()用来点按一次按键        

        2、键盘中有一些键如del键,若要按下del键,则要写为auto.keyDown("delete")才可以,按一下左方向键要用auto.keyDown("left")才可以,每一个此类特殊键位都有相对应的表达方式。

在无显示器模式下运行pyautogui,python,鼠标,键盘,自动化

 

热键(快捷键)

import pyautogui as auto

# hotkey:热键    按照顺序按下所有按键,从右往左释放按键,两次按键之间间隔0.1秒
auto.hotkey('ctrl','shift','right',interval=0.1)

auto.keyDown('ctrl')
auto.keyDown('shift')
auto.keyDown('right')
auto.keyUp('ctrl')
auto.keyUp('shift')
auto.keyUp('right')

         不知道为什么我的这两种方式调用我网易云的全局快捷键都无效,若有人知道且愿意告诉我,我感激不尽!文章来源地址https://www.toymoban.com/news/detail-828612.html

到了这里,关于python使用pyautogui控制鼠标与键盘(无屏幕内容)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python的pyautogui库(鼠标,键盘操作篇)

    图片操作篇可以观看https://blog.csdn.net/m0_61741706/article/details/126898616 pyautogui库可以模仿人去点击输出和键盘,相比selenium库,pyautogui库更方便,更便捷 下载就用pip直接下载,后者用清华源下载  出现这样就是下载成功 之后引入库,并判断电脑屏幕的分辨率 接下来是控制鼠标移

    2024年02月12日
    浏览(62)
  • PyAutoGUI Python 库,可以用于自动化鼠标和键盘的输入

    PyAutoGUI 是一个 Python 库,可以用于自动化鼠标和键盘的输入。它可以模拟人类的鼠标和键盘操作,例如单击、双击、拖动、按键、释放键等。PyAutoGUI 还提供了一些其他功能,例如屏幕截图和图像识别等。 以下是几个 PyAutoGUI 的典型案例和代码: 这些示例只是 PyAutoGUI 的一小部

    2024年02月10日
    浏览(54)
  • python操作windows桌面实现鼠标、键盘操作,python之pyautogui库文档详解

    PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作,多平台支持(Windows,OS X,Linux)。 源码地址: https://github.com/asweigart/pyautogui 官方文档: https://github.com/asweigart/pyautogui/blob/master/docs/simplified-chinese.ipynb PyAutoGUI可以模拟鼠标的移动、点击、拖

    2024年02月04日
    浏览(53)
  • python+pyautogui—PC端自动化(二)键盘鼠标及对话框操作

    目录 鼠标操作 获取鼠标所在位置坐标 获取鼠标所在位置的RGB值 鼠标点击 鼠标按下和释放 鼠标移动 鼠标拖拽 滚轮滚动 键盘操作 输入英文字符 普通按键操作press 按下与抬起 组合键hotkey 持续按键hold 弹出对话框 alert confirm prompt password 获取鼠标所在位置坐标 获取鼠标所在位

    2024年02月12日
    浏览(42)
  • Python 自动化指南(繁琐工作自动化)第二版:二十、使用 GUI 自动化控制键盘和鼠标

    原文:https://automatetheboringstuff.com/2e/chapter20/ 了解用于编辑电子表格、下载文件和启动程序的各种 Python 模块是很有用的,但有时您需要使用的应用没有任何模块。在计算机上实现任务自动化的终极工具是你编写的直接控制键盘和鼠标的程序。这些程序可以通过发送虚拟击键和

    2024年02月09日
    浏览(56)
  • python 如何控制鼠标键盘

    你可以使用Python的第三方库pyautogui来控制鼠标和键盘。pyautogui库是一个跨平台的GUI自动化库,可以模拟鼠标和键盘操作,以及截屏、获取窗口句柄等功能。 下面是一些常用的鼠标和键盘控制示例: 鼠标移动到指定位置 鼠标点击

    2024年02月11日
    浏览(38)
  • python编程控制键盘鼠标

    1.安装Pywin32 下载完成后直接运行。 2. 模拟按键      keybd_event(bVk, bScan, dwFlags, dwExtraInfo)       第一个参数:虚拟键码(键盘键码对照表见附录);       第二个参数:硬件扫描码,一般设置为0即可;       第三个参数:函数操作的一个标志位,如果值为KEYEVENTF_EXTENDEDKEY则

    2024年02月08日
    浏览(37)
  • python读取控制鼠标键盘

    目录 一,工具 二,鼠标 1,实时显示鼠标位置 2,控制移动鼠标 3,控制点击鼠标 三,键盘 1,单键输入 2,组合键输入 四,实用demo 1,多网页依次点击固定位置的按钮 2,收集多个网页的链接 pyautogui库 命令:pip3 install pyautogui==0.9.50 如果不指定版本,可能会在使用时报错:

    2024年04月10日
    浏览(42)
  • 【PyAutoGUI操作指南】02 鼠标控制功能+获取当前坐标+鼠标事件+鼠标滚动查询

    X坐标从左侧的0开始,向右增加,Y坐标从顶部的0开始,向下递增。 左上角的像素位于坐标0,0。如果屏幕分辨率为1920 x 1080,则右下角的像素将为1919,1079(因为坐标从0开始,而不是1)。 3.1.1 输出屏幕分辨率大小与鼠标光标位置 3.1.2 判断位置是否在屏幕内 3.2.1 moveTo()将鼠标

    2024年02月09日
    浏览(54)
  • pynput:用Python轻松掌握鼠标和键盘的控制

    引言 控制鼠标和键盘是自动化任务中的常见需求。在Python中,pynput库是一种强大的工具,可以帮助我们实现这些操作。本文将详细介绍pynput库的使用方法,并提供一些示例帮助读者快速上手。 1. 安装pynput库 首先,我们需要安装pynput库。可以使用pip命令来进行安装: 2. 控制鼠

    2024年02月04日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包