前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通过Python实现一个文档的半自动录入工具

通过Python实现一个文档的半自动录入工具

作者头像
李家酒馆酒保
发布2018-08-22 15:27:54
7190
发布2018-08-22 15:27:54
举报
文章被收录于专栏:李家的小酒馆

需求出现/使用场景:

  因为公司需要将word办的接口文档在线化,看起来是个很好的事情,但是就是苦逼了我们这些干活的,其中工程量最大的就是参数的录入,要是参数少也罢,有的接口动辄三四十个参数,更甚八九十个,我手动复制了一个三四十个的就让我怀疑人生,我觉的我的人生不能在赋值接口参数中浪费掉。以前也学过一点python知识,也实践过通过selenium来模拟点击,所以就萌发了一个读取文件然后通过selenium来进行表单的填充和提交,完成工具以后会节省大约80%的工作量。 大大提高了效率,也减少了对手腕的伤害。

  下面是参数录入界面,可以知道点击以后一个个粘贴需要费多大的力气。

实现过程:

  下面介绍一下实现过程及思路,因为要复制word中的内容,但是在word中的格式不是统一的, 所以要进行人为的将接口复制到文本文档中,并且要做相应的格式处理,所以这个工具归属于半自动化。

  1.读取文件

    首先要通过python进行文件的读取,不得不说python的语法是真的简简洁,读取文件一行代码的事,然后剩下的就是根据某个标识符,对每一行数据进行处理存储。  下列是读取文件代码示例:

代码语言:javascript
复制
    f = open("C:\\Users\\Administrator\\Desktop\\api.txt", 'r', encoding='UTF-8')
    list = f.readlines()

  2.开始使用selenium

    selenium可以支持火狐、IE、谷歌,使用的时候都需要先下载对应的浏览器驱动,这里我选择谷歌。首先去下载浏览器驱动,    在这个网址下载 https://blog.csdn.net/jeremyjone/article/details/80450251,同时,贴出Chrome浏览器版本和与之对应的驱动,参考网址 https://www.cnblogs.com/sxming/p/7662945.html

    下载完以后还需要进行配置, 一是需要去环境变量配置,在上面网址中有介绍,二是直接指定路径,我使用的是第二种方法,比较方便,不要忘记导入对应的模块

代码语言:javascript
复制
    browser = webdriver.Chrome(executable_path=".\chromedriver.exe")

    selenium的基本操作,这里只介绍一些这个代码中使用到的,更多API百度一下非常多:

代码语言:javascript
复制
    browser.get("https://baidu.com")    // 访问网址
    obj = browser.find_element_by_id("ks_ka_api_id")   // 通过id查找元素
    obj1 = browser.find_element_by_xpath('//*[@id="test_form"]/input[5]') // 通过xpath查找元素
    obj2 = find_elements_by_tag_name("p") // 通过Dom来查找元素

    obj2.send_keys();    // 填充数据
    obj.click()    // 点击按钮

    在自动话的过程中使用到了下拉框的选择,通过查找可以通过一下代码来实现指定选中,其他的方法可以通过网上教程来了解:

代码语言:javascript
复制
    f_selet = Select(browser.find_element_by_id("ks_ka_id"))   // 下拉框对象
    f_selet.select_by_visible_text(select_text)   // 选中哪个文本

总结:     

  到现在为止基本核心部分的思路就完成了,然后对代码进行修饰,添加日志和异常处理,代码就完成了,贴出完成代码。  这个程序也不是特别复杂, 不过可以对有遇到类似场景的提供一个减少自己工作量的思路。从这里还是可以看出这种繁杂并且重复的劳动还是可以通过代码来编写一些自动化工具的平时多思考,这种时候就会让自己的工作量减少许多,做出了这个软件一方面是减少工作量,另一方面也是进行了python的学习,一举两得。

  同时我们不可能每次运行这个程序都是通过ide来运行,最好的方式是打成exe,需要的时候只需要双击一下。  如果有需要进行打包功能的同学可以看下一篇文章: https://cloud.tencent.com/developer/article/1192998

代码语言:javascript
复制
View Code
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-08-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 需求出现/使用场景:
  • 实现过程:
    •   1.读取文件
      •   2.开始使用selenium
      • 总结:     
      相关产品与服务
      对象存储
      对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档