应用 Python PyAutoGUI 打造专属按键精灵脚本工具!

news/2025/2/13 5:22:53/

很久没有水文章了,很多老哥估计已经忘记本渣渣了吧,挤时间抽空水一篇,当然是以前写的,同时也有在用的工具脚本,大佬哥们可以跳过了!

按键精灵,这样一款工具相信不少人有了解过,乃至用过,当然本渣渣比较菜,应用的比较少,而且low,简单的录制一个脚本工具,就能够解放你的双手,节省时间,而现在本渣渣就应用Python PyAutoGUI 打造一个专属类似按键精灵脚本工具,当然应用的也是比较菜,仅供参考和学习而已!

19ad50ec2cc900f85914a549c6468911.png

PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作,多平台支持(Windows,OS X,Linux)。

PyAutoGUI 安装方法

pip install pyautogui

PyAutoGUI 使用方法

  • pyautogui鼠标操作样例

import pyautogui# 获取当前屏幕分辨率
screenWidth, screenHeight = pyautogui.size()# 获取当前鼠标位置
currentMouseX, currentMouseY = pyautogui.position()# 2秒钟鼠标移动坐标为100,100位置  绝对移动
#pyautogui.moveTo(100, 100,2)
pyautogui.moveTo(x=100, y=100,duration=2, tween=pyautogui.linear)#鼠标移到屏幕中央。
pyautogui.moveTo(screenWidth / 2, screenHeight / 2)# 鼠标左击一次
#pyautogui.click()
# x 
# y 
# clicks 点击次数
# interval点击之间的间隔
# button 'left', 'middle', 'right' 对应鼠标 左 中 右或者取值(1, 2, or 3)
# tween 渐变函数
#
pyautogui.click(x=None, y=None, clicks=1, interval=0.0, button='left', duration=0.0, tween=pyautogui.linear)# 鼠标相对移动 ,向下移动
#pyautogui.moveRel(None, 10)
pyautogui.moveRel(xOffset=None, yOffset=10,duration=0.0, tween=pyautogui.linear)# 鼠标当前位置0间隔双击
#pyautogui.doubleClick()
pyautogui.doubleClick(x=None, y=None, interval=0.0, button='left', duration=0.0, tween=pyautogui.linear)# 鼠标当前位置3击
#pyautogui.tripleClick()
pyautogui.tripleClick(x=None, y=None, interval=0.0, button='left', duration=0.0, tween=pyautogui.linear)#右击
pyautogui.rightClick()#中击
pyautogui.middleClick()#  用缓动/渐变函数让鼠标2秒后移动到(500,500)位置
#  use tweening/easing function to move mouse over 2 seconds.
pyautogui.moveTo(x=500, y=500, duration=2, tween=pyautogui.easeInOutQuad)#鼠标拖拽
pyautogui.dragTo(x=427, y=535, duration=3,button='left')#鼠标相对拖拽
pyautogui.dragRel(xOffset=100,yOffset=100,duration=,button='left',mouseDownUp=False)#鼠标移动到x=1796, y=778位置按下
pyautogui.mouseDown(x=1796, y=778, button='left')#鼠标移动到x=2745, y=778位置松开(与mouseDown组合使用选中)
pyautogui.mouseUp(x=2745, y=778, button='left',duration=5)#鼠标当前位置滚轮滚动
pyautogui.scroll()
#鼠标水平滚动(Linux)
pyautogui.hscroll()
#鼠标左右滚动(Linux)
pyautogui.vscroll()
  • pyautogui键盘操作样例

#模拟输入信息
pyautogui.typewrite(message='Hello world!',interval=0.5)
#点击ESC
pyautogui.press('esc')
# 按住shift键
pyautogui.keyDown('shift')
# 放开shift键
pyautogui.keyUp('shift')
# 模拟组合热键
pyautogui.hotkey('ctrl', 'c')

本渣渣写的一些使用方法

# -*- coding: utf-8 -*-
#微信:huguo00289
import pyautogui
import pyperclip
import time
import string
import random#随机生成字母
def sjs(n):letters_list = ''while len(letters_list) < n:a_str = string.ascii_letters #所有大小写字母random_letter = random.choice(a_str)letters_list=letters_list+random_letterprint(letters_list)return letters_list#复制粘贴文本内容
def paste(utext):pyperclip.copy(utext)pyautogui.hotkey('ctrl', 'a')pyautogui.hotkey('ctrl', 'v')pyautogui.PAUSE = 0.8 #设置延迟 #为所有的PyAutoGUI函数增加延迟。默认延迟时间是0.1秒#签到任务
def qd():#签到pqd = pyautogui.locateCenterOnScreen('1.png', confidence=0.9)print(pqd)pyautogui.click(*pqd)time.sleep(12)# 关闭签到成功pyautogui.moveTo(x=232, y=615)pyautogui.click()time.sleep(4)

这里主要提一下,pyautogui.locateCenterOnScreen('1.png', confidence=0.9),识别你的预先设置的截图,confidence设置的图片精确度,可以达到录制脚本工具的效果!

相比于定位xy轴,使用定位图片来定位的方式,大概率会更加方便以及准确,不会受到干扰!

至于这个工具脚本的用途,可以由你自己扩展,比如,某些死板的签到,注册,点击任务,多番测试应该都能实现,比如某个大佬写的加人工具,添加QQ好友的工具脚本!

参考来源:CSDN「灵动的艺术」:pyautogui自动化控制鼠标和键盘操作 

原文链接:https://blog.csdn.net/weixin_43430036/article/details/84650938

·················END·················

你好,我是二大爷,

革命老区外出进城务工人员,

互联网非早期非专业站长,

喜好python,写作,阅读,英语

不入流程序,自媒体,seo . . .

公众号不挣钱,交个网友。

读者交流群已建立,找到我备注 “交流”,即可获得加入我们~

听说点 “在看” 的都变得更好看呐~

关注关注二大爷呗~给你分享python,写作,阅读的内容噢~

扫一扫下方二维码即可关注我噢~

07ed0ac30378fc2b0393a67189a3e4cf.png

84570a06639dd99e7036f08000259bd3.png

关注我的都变秃了

说错了,都变强了!

不信你试试

21cebd0aaba48058be62caed3566dc32.png

扫码关注最新动态

公众号ID:eryeji


http://www.ppmy.cn/news/384682.html

相关文章

matlab句柄函数使用

概述 在MATLAB平台中&#xff0c;对函数的调用方法分为直接调用法和间接调用法。 直接调用函数&#xff0c;被调用的函数通常被称为子函数。但是子函数只能被与其M文件同名的主函数或在M文件中的其他函数所调用&#xff0c;一个文件中只能有一个主函数。 >> str hello…

按键精灵——基本

定义变量 Dim a1 定义常量 Const MyName123456 “按键精灵” 在脚本信息区输出 TracePrint 1∥结果为1 连接运算符& 1 & 1∥结果为11 “按键精灵” & 9∥结果为按键精灵9 转换 CInt 短整型 CLng 长整型 格式&#xff1a;bCInt&#xff08;a&#xff09; CDbI 双…

按键精灵的简单入门

1 问题 按键精灵是一款模拟鼠标键盘动作的软件。通过制作脚本&#xff0c;可以让按键精灵代替双手&#xff0c;自动执行一系列鼠标键盘动作。按键精灵简单易用&#xff0c;不需要任何编程知识就可以作出功能强大的脚本。只要在电脑前用双手可以完成的动作&#xff0c;按键精灵都…

按键精灵-自动化脚本

该专栏包含的脚本都需要先安装 按键精灵。 实现对指定区域进行自动截图 Dim i For i1 To 109MoveTo 1886,584 //将鼠标移动到指定区域 长,宽LeftClick 1KeyDown "Ctrl",1KeyDown "alt",1KeyDown "a",1KeyUp "Ctrl",1KeyUp "…

按键精灵---后台按键及鼠标操作

后台按键实例&#xff0c;记事本输入“a” Call RunApp("Notepad.exe") Delay 2000 Hwnd Plugin.window.find("Notepad", 0) HwndEx Plugin.window.FindEx(Hwnd, 0, "Edit", 0) Call plugin.window.sendkeypress(HwndEx,65)//现基本已经被Bkg…

魔兽世界怀旧服——按键精灵 Java版(自动技能,练级释放者)

作为大多回归玩家&#xff0c;艰难的是—— 升级 而且在很多时候&#xff0c;都会按相同组合的一系列技能键来度过相当漫长而枯燥的一段时光。 为了减轻这个痛苦&#xff0c;于是就做了个按键小工具&#xff0c;让角色自己放一系列技能。。。略微缓解练级的烦闷~ 这个小工具&am…

按键精灵---插件关于窗口的各种操作

插件关于窗口的各种操作 Call RunApp("notepad.exe") Delay 2000 Hwnd Plugin.Window.Find("Notepad", 0) TracePrint "得到记事本的句柄" & Hwnd////当前窗口路径查询 //Path Plugin.window.GetExePath(Hwnd) //TracePrint"记事本路…