今天,我们实现一个有意思的话题,就是让计算机间隔一段随机时间(为什么是随机时间呢?自己思考),自动打开并浏览一个网页(当然了,这个网页可以是文章、也可以是视频网站了,自己发散思维)。这个自动化的过程适用范围也很广哦,大家自己思考……
这是一个自动化工程
下面开始我们今天的内容吧,我准备分下面几步实现。
【材料准备】
当然了,说到Python自动化的课题,我们不得不讨论一个神级库,那就是Selenium,这个库是为Python提供了一个调用接口,当然,它还为其它编程语言也提供了相应的接口,不要指责它的花心,这不影响我们使用Python调用它。使用之前,我们先要安装这个神级库,安装方法当然是这样了:pip install selenium。但是,今天我是用的是Pycharm,在Pycharm上如何安装Selenium呢?安装方法如下图所示。
Pycharm下安装Selenium
安装完成Selenium之后,只是万里长征走完了第一步。更复杂的是环境配置,对于浏览网页的自动化测试案例,我们的环境当然是浏览器咯。今天,我们使用IE这个老牌浏览器。配置方法如下图所示。当然,在配置之前,我们必须在本地环境安装好IEDriver,这个东西类似我们电脑中的驱动程序。比如,Python要调用IE浏览器,IE浏览器是不认识它的,我们通过一个IEDriver来和Python沟通,不知道我的解释对不对,大神勿喷!IEDriver的安装和IE浏览器的具体配置过程,请大家自行搜索,网上已经烂大街了,在这里不做赘述。环境配置好后,我们接下来继续。
首先配置好我们的环境
【分析原理】
我们通过Selenium库打开一个网页,如何随机的时间段内进行操作,比如浏览一个网页,如何获取一个随机时间呢?对了,聪明的童鞋已经猜到了,通过random.randint(min, max),让计算机在这个时间段内生成一个随机整数,然后呢,我们让程序休眠这样一段时间,time.sleep(random.randint(min, max))。之后,我们再打开一个网页,这样,是不是就浏览时没有规律可循呢?这样,聪明的电脑也就不可能判断出来我们是人在浏览还是电脑在浏览了……到这里,你可以仔细想一想它的用处了。至于使用Selenium浏览网页的方法,我就不多说了,大家肯定知道咯……接下来,我们呢进行编码。我们以某一个新闻网页为例,打开网页后,获取该新闻网页的某一栏目下的内容,然后逐个随机打开这些新闻页面,每个页面浏览随机时间,模拟鼠标滚动操作。这个也可以是随机的。最后关闭页面即可。
还可以模拟让鼠标自己动
【编码实现】
具体内容如下图所示。
定义两个比较重要的函数
然后创建一个Webdriver类传入定义好的函数,即可使程序有效。
最终调用主函数实现模拟人操作的功能
源代码展示完毕。
【总结提高】
此处效果省略
至于程序效果,我这里就不再浪费篇幅展示了,大家可以自行测试下,程序当然也存在一些问题。比如:
没有演示登录过程,现在大多是网站是需要登录的。程序只是对某一项目内容进行了随机浏览,没有对其他可以阅读的项目浏览,容易被认为是电脑在浏览。可不可以更加智能化一点呢?操作滚动条的内容过于简单,没有结合页面实际内容进行,部分页面可能会出错。欢迎大家留言讨论,可以有很多扩展思路,自动化可以节省不少人力,比如模拟人登录某个网站自己进行学习,由于调用本地驱动打开浏览器,因此,服务器是很难判断这个操作是否是认为操作。这样,岂不是节省的我们的时间?对于大多数网络课程的学习,都是可以使用这种办法模拟登录进行学习的,我们只需要开着电脑,让电脑自己学习就可以了……
转载请注明出处(百家号:Python高手养成)