APP下载

基于Python的流程自动执行关键技术研究与实现

2019-01-06马宁陈曦陈正铭

电脑知识与技术 2019年32期
关键词:办公自动化

马宁 陈曦 陈正铭

摘要:介绍了采用Python与Selenium等实现自动操作重复性强且无须人工判断的任务,让办公自动化进一步实现智能化的关键技术。通过一个具体案例来阐述流程自动执行的实现原理与关键代码,证明了使用该技术能将各类界面刷新、点击、输入、导出、推送等操作实现智能化、自动化,提升办公生产效率。

关键词:Python;办公自动化;Selenium;智能测试;自动执行

中图分类号:TP301.1 文献标识码:A

文章编号:1009-3044(2019)32-0077-03

1概述

办公自动化是利用计算机和网络,将日常业务工作中信息与文件用各种平台或软件进行处理,最终实现办公流程顺利进行。办公自动化的产生是建立在计算机信息处理技术被广泛运用的基础上的,在这个过程中,需要工作人员通过计算机操作将信息进行全方位的处理。使整个工作的流程都在计算机中完成。

办公自动化减少了人为的跑动,节省了人力物力,提升了办公的效率,通过办公自动化里的自检系统,也降低了错误发生的概率。但其中部分业务(如服务调度业务、计量自动化业务等)必须实时不间断处置,并且处置的操作重复性强,因实时性的要求,又需要人工守候在计算机旁,重复操作鼠标键盘,造成人力资源的浪费和腱鞘炎等职业病发病风险提高,同时人工操作具有一定的出错风险,容易误操作与遗漏。为解决上述问题,可采用自动执行技术进行辅助操作重复性强且无须人工判断任务,让办公自动化实现智能化。

2应用场景

大多数办公自动化系统中各项业务操作是规则简单,重复性强,实时性要求较高的工作,以我单位营销系统的客服工单催办业务为例,流程如下:

上述业务流程规则简单,重复性强,但目前营销系统未能提供自动执行功能,需专人负责,耗时耗力。如能设计相应自动执行软件启动后自行执行,将能提高工作效率,避免遗漏。

3现有解决方案与不足

3.1Autolt

采用类似BASIC的程序语言,它主要工作在Windows操作系统,通过编写代码来模拟鼠标和键盘的操作,从而达到模拟用户在Windows操作系统图形界面操作的效果,实现Windows的自动化操作。

3.2按键精灵

用于解决一些传统软件无法覆盖的电脑问题,可用于任何有待提高工作效率的领域,例如:业务流程优化f使用脚本优化业务流程,提高工作效率,降低企业成本)、办公自动化(自动处理机械枯燥的办公室电脑操作,例如企业信息发布、报表提交、邮件整理等)、日常应用r将电脑日常应用一键批量操作,例如股票交易中的闪电下单、操作预警等)、软件自动测试(模拟人工操作进行软件测试)、网游辅助(模拟人工操作网络游戏的人物,将玩家从游戏公司不合理的长时间操作中解脱出来)。

3.3易语言

一个我国自主开发,易用的汉语编程语言,降低了广大电脑用户编程的门槛。易语言能充分利用操作系统的API,COM、DLL、OCX组件,还支持程序流程的即时可视化,能方便地开发各种自动化脚本程序,执行效率较高。

3.4小结

上述几种自动执行的软件设计技术都有一定缺陷,AutoIt和按键精灵虽能模拟鼠标键盘的操作,但无法执行较复杂的条件判断,也无法方便截取所使用系统的返回信息;易语言虽然功能强大,但是采用的库因为常被用作开发外挂与病毒,因此有极大的安全风险。

4基于Python的流程自动执行关键技术

4.1Python语言简介

Python是一种易于学习又功能强大的编程语言。它提供了高效的高级数据结构,还有简单有效的面向对象编程。Py-thon优雅的语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。Python解释器及丰富的标准库以源码或机器码的形式提供,可以免费获取适用于各个主要系统平台的版本,并可自由地分发。这个网站还包含许多免费第三方Python模块、程序和工具以及附加文档的发布页面或链接。Python解释器易于扩展,可以使用C或C++(或者其他可以通过c调用的语言)扩展新的功能和数据类型。Python也可用于可定制化软件中的扩展程序语言。I1

利用Python语言、Web应用程序测试工具selenium等技术,采用模块化设计,将上述梳理出来的工作任务流程以脚本形式实现智能自动化执行,实现无人自动化操作;还可进一步设计执行意外提醒、执行日志记录与查询、执行参数设置等功能。

4.2项目实施关键技术

4.2.1关键技术概述

以上述应用场景客服工单催办业务为例,可采用python与Selenium、itchat、lxml、openpyxl、PIL等相关开发包进行流程自动化设计。其中主程序与脚本采用python进行开发。使用Se-lenium在chromedriver的基础上实现对谷歌浏览器的自动化控制,可方便地打开系统、退出系统等;用itchat实现对微信的自动化控制,方便地进行消息推送;用lxml定位HTML元素位置,并智能化按界面标签名进行定位或获取返回信息;用openpyxl对excel进行读写处理,保存本次自动执行的结果与日志记录;用PIL对当前操作界面进行定位截取图片保存,方便后期进行高层次审核;用多线程技术并发处理多个自动化任务,可方便的同时执行若干个自动化流程。

4.2.2定位元素模拟用户操作关键技术实现

Selenium是web应用程序自动化测试工具集,包括IDE、Grid、RC、WebDriver等,是直接运行在浏览器中,模拟用户在操作,具有很强的真实感。目前支持的浏览器包括IE系列、火狐浏览器、谷歌浏览器等。

Selenium提供了find_element_by系列方法来定位一个页面中的元素;如果需要对该已定位对象进行操作,通常通过We-bElement接口,常見的操作元素方法如下:send_keys模拟按键输入;chck点击元素;submit提交表单等;当操作页面同时出现2个或者以上窗口时候,可以使用driver.switchTo系列方法来进行切换;如需调用js方法,可使用execute_script方法,在当前窗口/框架同步执行javaScript。

4.3实现技术小结

与其他技术相比,Python语言具有易于学习和使用等特点,同时又是一个完整的强大程序设计语言。利用Python平台结合上述Selenium、lxml、openpyxl、PIL等接口,可以对预先定义的流程计划的各个步骤进行自动化处理,省去多次操作键盘鼠标,切换不同页面的时间,大大提高了工作效率,确保有更多时间投入到更重要的工作中。

5结论与应用前景

上述解决方案及关键技术可替代当前人工对各项业务操作中规则简单,重复性强,实时性要求较高且无须人工主观判断的工作进行重复性的操纵,将各类监控、刷新、统计、导出、推送、转发等操作实现智能化、自动化,将人工解放出来实现更高层次的详细内容审核、业务结果验证等技术工作,提升办公生产效率,从而缓解人员不足问题,同时减少操作人员职业病的发生的可能性。

上述关键技术可应用到公司其他类似的场景,甚至其他行业相类似的场景中,提升办公自动化的智能程度。

猜你喜欢

办公自动化
浅谈办公自动化系统的设计与应用
办公自动化中的计算机应用
办公自动化系统软件教学探索
办公室自动化、办公自动化与OA
沪苏浙高速公路办公自动化系统设计
利用办公自动化进行图书馆管理