Python基于pyautogui在大华云联平台(或其他平台)自动填表批量导入人员信息的示例

目录

一、导读

二、导入Python模块

三、大华云联自动填表程序的各部分代码及功能

1.创建GUI(图形用户界面)应用程序

2.自动打开应用并检测登录

3.添加功能选择按钮

4.提取excel文件中的员工信息

5.执行点击操作

6.编辑点击操作的逻辑顺序

7.设置子线程避免无响应

8.未解决问题(可以不看)

四、本文全部代码

五、注意事项


一、导读

当你觉得繁琐的填表工作很占用你的时间且麻烦,那么这篇文章或许能给你一些帮助。本文是基于Python的pyautogui模块实现的,该库能够帮助你实现自动化操作。首先在这推荐一篇文章:pyautogui库的使用教程(超详细)_QQVQQ...的博客-CSDN博客 ,上面有很详细的pyautogui库使用方法。此外,如果你想更详细地了解pyautogui库,可以选择访问其官方文档:Welcome to PyAutoGUI’s documentation! — PyAutoGUI documentation 以获取更多内容。

二、导入Python模块

pyautogui模块是本文章最核心的部分,基于该模块可以进行“图像识别——获取图像在屏幕上的位置——自动点击该位置——自动输入内容”这一基本操作,基于本操作可以实现自动化填表或其他功能。

pyperclip模块可以对字符串进行复制粘贴,用于输入中文内容。由于pyautogui库只能模拟键盘的输入,无法做到直接输入中文,因此需要该库辅助输入中文内容。

time模块可以进行时间相关的处理,本文只使用其time.sleep()方法。由于电脑在自动点击后可能需要一段时间的反应,如果在点击后立刻识别图像可能会识别失败,因此让程序在点击后等待一段时间是必要的。这就是该模块在本文中的作用。

pandas模块是实现数据分析的模块,本文用该模块实现从Excel中读取需要录入的人员数据。

tkinter模块用于图形化界面设计,创建GUI,在这也推荐一个tkinter教程:Python-Tkinter图形化界面设计(详细教程 )_tkinter界面设计_王张飞的博客-CSDN博客

threading模块用于多线程编程,没有该模块会让程序的窗口无响应。

import pyautogui
import pyperclip
import time
import pandas
from tkinter import *
import threading

这些模块可以用pip安装(pip install 库名)。如果你用的是pycharm,也可以用pycharm下载(File - Settings - Project:untitled - Poject Interpreter - "+" - 搜索库名)。此外,如果你用pip安装成功但是无法在pycharm中安装使用,可以参考该文章。我就是这种情况,亲测可用(笑记(解决方法)PyCharm无法安装库_pycharm安装库失败_Leslie-Lin的博客-CSDN博客

三、大华云联自动填表程序的各部分代码及功能

1.创建GUI(图形用户界面)应用程序
# 设置窗口
root = Tk()  # 创建一个窗口
root.title('大华云联数据批量处理')  # 标题
root.geometry('600x1000')  # 窗口大小

# 设置按钮
log1 = Button(root, text='打开程序并检测登录状态', command=login)  # text是按钮上显示的文字,command后接按钮对应的函数
log1.place(relx=0.1, rely=0.035, relwidth=0.4, relheight=0.05)  # relx和rely控制按钮位置,relwidth和relheight控制按钮大小
log2 = Button(root, text='我已登录!', command=logor)
log2.place(relx=0.6, rely=0.035, relwidth=0.3, relheight=0.05)

# 设置提示文本框
txt1 = Text(root)  # 在root窗口上的文本提示框
txt1.place(rely=0.125, relheight=0.1)  # 放置提示框,rely控制位置,relheight控制大小
txt2 = Text(root)

pyautogui.PAUSE = 1  # 每次完成指令后会暂停1s
pyautogui.FAILSAFE = True  # 鼠标移到左上角会产生pyautogui.FailSafeException异常
root.mainloop()

Tk()创建窗口,title()设置窗口标题,geometry()设置窗口大小。

Button()用于创建按钮,参数含义已在后面标出。其中的command为按钮对应的函数,点击按钮就会执行该函数。place()放置按钮,参数控制其大小和位置。

Text()创建文本提示框,place()放置文本提示框。

pyautogui.PAUSE设置完成指令后暂停的时间,用于缓冲。

pyautogui.FAILSAFE是一个可以终止程序的安全锁,当你把鼠标移到屏幕左上角一段时间后,程序会抛出异常并终止。

注意:本段代码要放在最后面,本文只是按照逻辑顺序说明各部分代码。

运行效果:

2.自动打开应用并检测登录
# 打开程序并检测登陆状态
def login():
    try:  # 在桌面上识别“大华云联”应用程序图标并自动双击打开
        LCloud = pyautogui.center(pyautogui.locateOnScreen('LCloud/LCloud.png'))  # 找到图像在屏幕上位置的中心点
        py
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

limuuw_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值