前言
在我的日常工作中,经常需要在内网(不连接互联网)的网页版办公系统中进行抓取网页数据、修改表单等大量重复性的操作。我就想是否可以编写出自动化的工具,将这些日常琐碎的操作变得轻松而高效。虽然本人非计算机相关专业,但兴趣使然,使我十分热爱编程,因此对编程稍有些了解,我知道类似的功能是一定能实现的。
都说懒惰是人类进步的动力,这是一点没有说错啊。
因为内网的局限,我因地制宜地采用 Microsoft Excel 2016 版中的 VBA 实现了大多数自动化功能,可以批量打印、自动录入,节省了很多时间。
但是这样的自动化程序受 Windows 系统、Microsoft Excel、IE 浏览器、计算机硬件以及诸多系统和软件设置影响,可迁移性很差,使用起来难度很大。
所以我在想是否可以将这个自动化程序包装成为 .exe 格式的执行文件。
经过查阅资料和学习网页自动化视频,基本确定了通过 Python+Selenium 的方式来实现网页自动化功能。以下是我在
遇到的问题
在实践过程中,我遇到了一些问题,虽然最终都解决了,但过程中花费了大量的时间,所以我想将这些问题和解决方法写出来,节省大家的时间。这就是我写这篇文章的初心。
以下是一些常见问题及其解决方法:
1. 开发环境的安装和配置
在部署开发环境之前,首先要考虑是自动化软件的实际运行环境。
因为办公电脑只有内网、不连接互联网,绝大多数为 Windows7 系统,所以需要考虑兼容性,下载支持 Windows7 系统的开发软件。
欲善其事,必利其器。对于计算机基础不太好的我来说,肯定要选择一门学习成本不高,功能强大的编程语言,于是选择了 Python。
TODO:Windows7 环境下的 Python 版本如何选取?
TODO:如何安装 Python、设置环境变量?
有了编程语言,那还需要一个功能强大的代码编辑器,无论是 PyCharm、Sublime、VS Code,还是 Spyder、Jupyter 都可以,但考虑到我同时也需要使用其他编程语言,所以编辑器选择了 VS Code。
TODO:常用的 Python 的编辑器有哪些?
TODO:Windows7 环境下的 VS Code 版本如何选取?
TODO:如何安装 VS Code?
Python 和 VS Code 安装好后,需要为 Python 引入包括 Selenium 在内的许多第三方库,为 VS Code 安装包括 Python 在内的诸多插件。
TODO:Windows7 环境下的 Selenium 版本如何选取?Selenium 还需要考虑 IE 浏览器驱动的版本
TODO:在网页自动化的 EXE 项目中,需要引进哪些 Python 第三方库?
TODO:如何使用 pip 下载并离线安装 Python 第三方库?
这些都安装好后,还需要针对办公电脑使用的浏览器版本下载对应的浏览器驱动。
TODO:Google、FireFox、Edge、IE 等浏览器与浏览器驱动版本是如何对应的?
一开始我是想使用 Google 浏览器的,也下载了最后一版支持 Windows7 系统的 Google 浏览器,不过没想到网页版办公系统在 Google 浏览器中部分内容无法正常显示。所以最后还是下载的 IEDriverServer。根据官网文件 IEDriverServer 的 x64 版本有漏洞,所以无论办公电脑是32位还是64位,统一下载32位的 IEDriverServer_Win32
TODO:IE 各版本对应的 IE 浏览器驱动在哪下载?
2. 网页自动化操作(正在进行中,发现问题会及时更新)
上面的开发环境都配置好后,就可以开始编程了。
我们首先需要实现的是自动化打开浏览器、访问办公网站并登录办公帐号。
TODO:如何自动化打开浏览器?
TODO:如何选择网页元素?通过ID、类、Tagname、CSS选择器、Xpath选择器等方式进行选择
TODO:常见的自动化操纵网页元素的方法有哪些?
有时还需要模拟鼠标和键盘操作。
3. GUI界面设计(正在进行中,发现问题会及时更新)
程序功能逻辑实现以后,这么好的摸鱼工具不能独享呀,必须等推广普及,当大家都从中重复性操作中解放出来。因此就需要设计一个 GUI 界面,可以提供更加友好、直观、高效、可控的操作方式,帮助其它同事轻松上手完成复杂任务。
4. 软件打包(编程和界面设计完成后会更新)
使用 PyInstaller 第三方包进行打包。
说在最后
通过 Python+Selenium 实现网页自动化,可以极大地提高办公效率,减少重复工作的负担。在实践中,大家也会遇到安装配置等瓶颈,但通过灵活的定位方式、等待机制和验证码处理方法,这些问题都能得到解决。
网页自动化是一把双刃剑,方便自己的同时也需要谨慎使用,遵循网站和平台的各项规定和使用条款,以确保合法合规使用。
希望本篇最全避坑指南能够帮助你顺利进行 Python+Selenium 网页自动化的学习和实践。让我们一起享受自动化带来的便利吧!
欢迎在留言区留下你在网页自动化过程中遇到的问题和经验分享。谢谢阅读!
学习编程,从这里开始!
欢迎来到我的编程学习世界,这里是我与你分享编程知识、经验和技巧的地方。无论你是编程初学者还是有一定经验的开发者,都将为你带来灵感和启发。
关于我
我是一个热爱编程的自学者,通过多年的实践和不断的学习,我积累了丰富的编程经验,并且希望能与你一起成长。在这个博客中,我会分享我在编程领域的见解、学习心得和实用技巧,帮助你在编程的路上越走越远。
我的内容
在我的博客中,你将找到以下类型的内容:
- 详细的编程教程和指南
- 实用的代码示例和项目案例
- 技术趋势和行业动态的分享
- 对编程语言、工具和框架的评测和比较