社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

击败无聊的办公室重复操作,我用python帮女神小姐姐录了上百份表格

Python绿色通道 • 4 年前 • 1662 次点击  

↑ 关注 + 星标 ,每天学Python新技能

后台回复【大礼包 】送你Python自学大礼包

节日期间,接到一位小姐姐的求助,问我有没有方法用python自动把表格录入某个系统,因为她已经快被上百份表格折磨疯了

我初步研究了一下,她的数据格式类似与学生成绩表,而且系统是网页版的,登录也比较简单等,我本来想着用selenium和pandas就可以轻松搞定,但是他这系统输入的时候只能靠键盘输入,那样的话仅靠这两个库是不行的,于是我想到了pyautogui

整个自动化录入过程主要分为三步(由于是公司内部系统,这里不具体演示,以讲方法为主)

1.pandas读取数据

import pandas as pddata=pd.read_csv('成绩表.csv',encoding='gbk')data

2.selenium登录系统

selenium自动打开浏览器访问系统登录页

from selenium import webdriver driver = webdriver.Chrome()driver.get('系统网址')


自动点击并输入用户名、密码

driver.find_element_by_xpath('//*[@id="username"]').clear()driver.find_element_by_xpath('//*[@id="username"]').send_keys('用户名')       driver.find_element_by_xpath('//*[@id="password"]').clear()driver.find_element_by_xpath('//*[@id="password"]').send_keys('密码')

3.循环录入数据

遍历每名学生及成绩,依次录入数据

for tup in data.itertuples():    driver.find_element_by_xpath('//*[@id="name"]')        pyautogui.typewrite(message=tup[1],interval=0.5)#模拟输入姓名    driver.find_element_by_xpath('//*[@id="Chinese"]')        pyautogui.typewrite(message=tup[2],interval=0.5)#输入语文成绩    driver.find_element_by_xpath('//*[@id="Math"]')        pyautogui.typewrite(message=tup[2],interval=0.5)#输入数学成绩    driver.find_element_by_xpath('//*[@id="English"]')        pyautogui.typewrite(message=tup[2],interval=0.5)#输入英语成绩

有的朋友会问,为什么不直接用selenium的sendkeys函数输入,那样岂不是更简单

这是因为selenium的senkeys对带有安全控件的输入框不起作用,例如工商银行的登录框:

所以必须要用键盘登录,pyautogui在这种情况下就发挥了很大的作用。


pyautogui是一款用于自动化测试的python模块,在自动化测试中用于模拟鼠标点击,页面点击等内容

官网给的安装方式很简单,直接在命令行输入:

pip install pyautogui

遗憾的是,我试了N次也木有成功

最后,我在网上下载了pyautogui的安装包

网址为: 

https://pypi.org/project/PyAutoGUI

点Download files,下载右侧的PyAutoGUI-0.9.38.tar.gz

解压后,进入解压目录执行:

python setup.py install

按照这个方法,终于在我电脑上安装成功了


最后,给大家介绍几个pyautogui操控键盘常用的函数:

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

希望大家都能用学会这项技能,向无聊的办公室重复操作说拜拜!

Python自学超级硬核资料


最后送大家一份Python学习大礼包,从Python基础,爬虫,数据分析Web开发等全套资料,吃透资料,你可以扔掉其他资料,这些资料都是视频,学起来非常友好 


Ps:都是视频学习资料,非常适合基础不好或者零基础的同学




推荐阅读


  1. 无意中发现了Python的秘密,太牛逼了!

  2. 小白也可以完成的人脸识别项目?有点酷!

  3. 如何用树莓派搭建一台永久运行的个人服务器?

看完记得关注@Python绿色通道
及时收看更多好文
↓↓↓


点个在看你最好看

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/111320
 
1662 次点击  
文章 [ 1 ]  |  最新文章 4 年前
天虹着火
Reply   •   1 楼
天虹着火    4 年前

各位老铁们好!来点个双击下面外链来减压脑筋哦,我们这有多种丰富的游戏好玩好赢好刺激 欢迎!欢迎!欢迎!https://www.1680380.com/view/kuai3_gsft/kuai3_index.html