如何使用Python实现自动化点击鼠标和操作键盘?

python中的库可以模拟鼠标点击和键盘输入的动作。所以我们需要告诉程序在哪里点击,单机还是双击,点右键还是左键,在哪里输入,输入什么……

基本操作流程如下:

1.搭建python运行环境Anaconda,安装pyautogui库

2.安装visual code 用来编写代码

1 搭建Python运行环境

1.png
2.png

根据自己的系统和多少位操作系统,选择安装包。

安装好之后,再安装pyautogui,这个库可用来模拟鼠标和键盘操作。

链接:https://pan.baidu.com/s/19CCBSdt7qMv2R0HpFDg6qg

提取码:6666

打开Anaconda Powershell Prompt输入以下命令:

  • cd setup.py所在路径

  • python setup.py install

3.png

2 安装编写python代码的编辑器vscode

点击下载vscode……

5.png

常用快捷键:

  • 打开一个新的 Tab页 Ctrl+N

  • 打开一个新的 窗口 Ctrl+Shift+N

  • 关闭当前 (光标所在) Tab页 Ctrl+W

  • 关闭当前窗口 Ctrl+Shift+W

  • 在一个编辑器中切处一个新的编辑器(最多三个) Ctrl+\

  • 代码行缩进 Ctrl+[Ctrl+]

  • 折叠打开代码块 Ctrl+Shift+[Ctrl+Shift+]

  • Ctrl+C Ctrl+V如果不选中,默认复制或剪切一整行

  • 运行 Ctrl + F5

  • 调试运行 F5

3记录个人操作流程

以“打开excel,输入文字,保存,然后关闭”这套流程为例。

整套操作流程总结为以下几点:

  • 完整记录上述操作的每一步,每一步鼠标所在位置和操作类型(单击双击或者输入文字等)

  • 鼠标移动到你要点击的位置

  • 记录位置坐标和操作情况到position.txt

txt中记录内容如下:

4.png

关闭文档 4 1880 19 1 Click为例解释如下:

  • 关闭文档为操作名

  • 4位操作序号

  • 1880 19 为鼠标位置

  • 1设置的延时,时间为s

  • Click鼠标操作类型

实时显示鼠标代码如下:

def GetPositon():
    
    while True:

        currentMouseX, currentMouseY = pag.position()

        print(currentMouseX, currentMouseY)
        
        os.system('cls')  # 执行系统清屏指令
    
if __name__ == "__main__":
    
    GetPositon()

这一步操作略显笨拙,不够自动化,当然这一步可以做得更好,更加便捷。

4编码实现自动化操作

下面这段代码,逐行执行position.txt中的指令。代码逻辑如下:

  • 将position.txt中的指令读入posList列表中

  • 遍历列表posList,逐步操作

import pyautogui as pag
import time

class ExcuteFlow():
    
    def __init__(self):
        
        posList = []
        # 逐行读position.txt,并分解每行数据,将数据存入字典posDic中
        # 同时将字典压入列表posList
        with open("position.txt",encoding='utf-8', mode = "r") as fea:
            for feature in fea.readlines():
                posDic = {}
                feature = feature.strip('\n')
                words = feature.split(" ")
                posDic['operate'] = words[0]
                posDic['x'] = int(words[2])
                posDic['y'] = int(words[3])
                posDic['delay'] = int(words[4])
                posDic['name'] = words[5]
                posList.append(posDic)
        self.posList = posList
        self.Excute()
    
    def Excute(self):
        #遍历列表posList
        for pos in self.posList:
            print(f"excute {pos['operate']}")
            if pos['name'] == "Click":
                pag.click(pos["x"], pos["y"])
            elif pos['name'] == "DoubleClick":
                pag.doubleClick(pos["x"], pos["y"])
            else:
                pag.click(pos["x"], pos["y"])
                pag.typewrite(pos["name"])
            time.sleep(pos['delay'])
     
if __name__ == "__main__":
    
    excute = ExcuteFlow()

使用python帮你自动点点点,并不复杂。

看懂这一篇教程之后,你当然可以设置更复杂的操作。

核心不在于代码,而在于如何细致分解你的操作流程,就是制作好你的position.txt文件。

同时延时还需要根据你的实际情况设置好。

关键字:python模拟鼠标和键盘

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,440评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,814评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,427评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,710评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,625评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,014评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,511评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,162评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,311评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,262评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,278评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,989评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,583评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,664评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,904评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,274评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,856评论 2 339