Py学习  »  Python

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

Python绿色通道 • 3 年前 • 770 次点击  

↑ 关注 + 星标 ,每天学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
 
770 次点击  
文章 [ 1 ]  |  最新文章 3 年前
天虹着火
Reply   •   1 楼
天虹着火    3 年前

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