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

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

作者: WOODS_BANGZHU | 来源:发表于2020-10-24 20:45 被阅读0次

    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模拟鼠标和键盘

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/wlkcahtx.html