Awesome Open Source
Awesome Open Source
Sponsorship

我是河南郑州的一名高二学生,利用业余时间独立撰写了一份SELENIUM项目的中文文档,希望对你有帮助。

1.png

Q 为什么要撰写一份Selenium的中文文档?

A 其实刚开始,是打算写一个关于Selenim的专题,但后来写着写着,在不断的查阅资料中发现,网络上现有的中文文档大多介绍的很简单,一概而过,即便是较为知名的51testing.com的Selenium教程,也因为著于十年前,已经跟现在的测试框架具有较大的差异了。因此,我萌生了撰写一份完整的Selenium中文文档的想法。

Q 这份文档写了多久?

A 从中考结束的暑假就开始编写,期间因为学业的缘故中断过一次,到寒假又重新拾起笔来撰写,大概在高一下学期期末的时候完成。当时的文档还不太成熟,我想着再修修改改,期望做的更好一些,这就到了高二上学期结束后的暑假,终于修改到自认为这份文档比较成熟了,希望发布出去,为开源事业做一点贡献。

Q 写的时候遇到过质疑吗?

A 当然有,因为要编写文档,牺牲了很多自由时间, 很难把控学习和爱好之间的平衡,高一上学期期末的时候,成绩跌到全校一百名开外,那时候很难过,也被老师叫过去谈话过。

庆幸的是,我的父母从来没有因此责备过我,反而鼓励我继续下去,只是要把握好两者之间的平衡。同时感谢我的老师,尤其是耿明磊、张文霄老师,在我坚持不下去的时候,给予我鼓励。

本书读者对象

  • 测试自动化
  • Web开发者
  • Python开发工程师
  • 人工智能工程师
  • 爬虫开发工程师
  • 数据分析工程师
  • 系统运维工程师

本书内容及体系结构

第1章 从Selenium开始

本章从起初入手,帮助读者了解Selenium项目的框架和由来,以及如何选择自己的WebDriver。接着介绍了在Windows和Linux两种操作系统下的Selenium安装方式。

第2章 页面导航

本章对Selenium项目和浏览器交互的基本操作内容进行了介绍和串讲。本章介绍了如何通过Selenium项目实现启动浏览器,打开浏览器,浏览器窗口切换等一系列的常用的浏览器操作的自动化。为后面的学习奠定基础。

第3章 元素定位

在第三章中笔者将会引领读者领略了Selenium的八种元素定位方式。通过对本章与前两章的内容的学习,读者可以初步掌握并实现一个略有雏形的自动化程序的能力。

第4章 利器----PhantomJS

PhantomJS是一个独立的项目,可以实现绝大部分浏览器的功能。不同于其他的浏览器,PhantomJS只会在内存中运行,而不会显示任何界面。十分适合我们进行数据采集的时候使用。本章介绍了PhantomJS和Selenium搭配使用的方法。

第5章 实战part1——Python官网

本章是对前面所学的内容的一个综合整理运用。通过实战,帮助读者巩固已经学习过的知识,并且在实际操作中,锻炼读者的编程能力与思维。

第6章 实战part2——今日头条

以今日头条为例子,引入即将要学习的内容,本章主要讨论技术部分实现以及解决思路分析。目的在于帮助读者形成一个目录式的系统印象。

第7章 数据编解码、处理

在互联网中,难免要面对错综复杂的各种数据类型,这一章主要介绍以下内容:CSV、JSON、XML、BASE64、NLTK、HASH、Bloom Filter以及关系型数据库和非关系型数据库。

第8章 实战part3——猫眼电影

以猫眼电影为例子,详细讲解从了解客户需求到网站分析、处理的全套流程,并在分析中逐步引入代码的说明与实现。

第9章 实战part4——淘宝商品

在这一小节中,笔者以淘宝商品为例子,阐述如何应对复杂网站的页面数据采集,帮助诸位追赶较为新颖的实现方式,解决读者因难以下手而犹豫不决,无法直接应用的难题。

第10章 单元测试

解决单元测试是什么、为什么要写单元测试、应该怎么写单元测试这三个难题。帮助读者评估在自己的项目中是否要使用单元测试。

第11章 多线程

实现同步完成多项任务的功能,帮助读者提高程序的运行效率,解决时间。讨论线程、进程、线程切换、锁以及GIL等概念。

第12章 发送邮件

本章讨论程序反馈最低廉且合理的方式,通过实现自动化发送邮件,实现服务器(程序)无人值守情况下的报备以及记录

第13章 Selenium IDE

介绍了两个简单且方便的录制自动化脚本的工具,为读者提供一条功能化的测试道路,快捷生成自动化脚本。

第14章 Python拓展

这一章节讨论包括但不限于:Python2代码转换Python3代码,测试类型,通配符,字符串方法,异常层次结构,类,推导式等等扩展性内容。

第15章 GUI,图形化测试

讨论制作图形化界面的方法并且介绍经常使用的组件,帮助读者实现测试工具图形化以及了解底层实现的思路。

第16章 实战案例part5 知乎

着重讨论Selenium项目和传统方式的爬虫的结合,实现一种全新的,功能更加强大的数据采集爬虫。

第17章 实战案例part6 微博

对全书的内容的整合提升,帮助读者巩固已经学过的知识,构筑全面的知识框架,了解自己的不足与缺陷。

关于本书的勘误:

限于我能力不足,加之个人精力有限,本书难免有错误之处. 勘误发布: http://note.youdao.com/noteshare?id=a7f0705acb54486b627de091ab277314&sub=94EB566C5FB441159FA82618AD3A9090

本书的获取:

链接:https://www.lanzous.com/b588019/ 密码:9968

漫谈

我一直有一个想法,学习只是生活的一部分,我想要走出一条不同的轨迹,我不知道该怎样开口,不知道该用怎样的文字,把自己的心情完整记下来,让他们如挂在风墙边的的蓝色风铃般静静地挂在那里,静谧而美好。我想和你谈一谈梦想这个遥远而又熟悉的词汇。

不久之前,一位学姐写信向我诉苦,她说,和闺蜜一同去比赛,因为种种原因,她没有拿到奖项,而闺蜜不仅拿到了奖,而且是全校第一,每次回到宿舍,周围的同学总是在说闺蜜拿到了这个奖就可以怎样怎样。她感觉闺蜜夺走了属于她的光芒,因为以前,闺蜜的成绩远远不如她。在发自内心的替她感到的同时,又有一丝丝嫉妒。

良久沉吟,这或许是一种缺失,一种害怕不被人重视,害怕被世界遗忘的内心缺憾。

学姐也曾是一个骄傲的人,只不过现实和理想的巨大落差给了她重重一击,自己的现实和他人的情况对比又是一记重锤砸下,渐渐磨灭了她的骄傲。在社会的大磨盘下她从一个开始有棱有角的正方形,被打磨、抛光成一个光滑的球,又在一次又一次的刺激中逐渐变得麻木。

每个人都或多或少会有这种感觉,此刻,我想把我们探讨的结论转赠给你,愿致你以宁静。

这种缺失实际是孤独,内向,敏感,细腻导致了你的孤独。但不要因此而悲伤,正是孤独让你变得出众,而不是合群。阅读和思考是你获得能量最高效的方式,你总有无数的灵感,想着别人无法理解的事情。你在社会中就像个异类,就像世人难以读懂梵高,达芬奇的作品一样,你以为自己缺失,其实你是拥有太多。就像美剧的超能英雄一样。人和动物的根本区别就是人是在不断的思考中沉淀优势,明确航向,变成一个崭新的自我,你真正的缺失是对自己的不了解以及别人对你的不理解,弥补缺失的唯一方法就是阅读,探寻自己的内心,寻找自己真正想做的事情。才华横溢、有所作为的人,都是会享受和利用孤独的人,他们在孤独的时候积蓄能量。不要试图让别人理解你,正如你不能让盲人只凭触觉感受就做出绘画。任何一个害怕独处而在餐桌上、在夜总会、在酒吧里寻找一种存在感的人,都会在人群中被淹没。

不是你的错,既然无法适应这个世界,为什么不尝试去做一些事情来做出事实呢?就像创立特斯拉的硅谷钢铁侠埃隆·马斯克一样,凭借送入太空的特斯拉电动车,让外界看到他做白日梦的功力,把未来科技之美带给了世界。

疯狂的人有两种,一种是真疯,一种是真疯,前者强调在一个真字,后者强调在一个疯字,只有疯狂到认为自己能够改变世界的人才,才能够真正改变这个世界。

1776年,造就蒸汽革命瓦特的灵感源于他的异想天开,

1879年,造就万家灯火的爱迪生的灵感源于他的天方夜谭

1886年,造就"钢铁长城"卡尔本茨的灵感源于他的荒诞无稽

1903年,造就银鹰展翅莱特兄弟的灵感源于他的痴人说梦

大胆一些,不要害怕做"白日梦",不要怀有渺小的梦想,他们无法打动人心,最重要的是,无法打动你的心。

无知不是错,错的是贪图安逸,放下你自己的骄傲,承认自己的不足吧!最怕碌碌无为一生的你,还安慰自己平凡可贵。

少年的少不在于骨龄,而在于心,心若鸿鹄比天高,纵是年岁已高,也尚可作为;若是年纪轻轻便已心老,了无生趣,对生命毫无激情,纵是年轻,又有何用,少年,心若在,梦就在。

高晓松说周长是憧憬和怀念的天平,当它倾斜得颓然倒下的时候,那些逝去的日光的夜晚该用怎样的声音去抚慰?你的状态如何,决定你的未来,你现在的位置就是你过去的心态之中的体现,你如果过去奋发向上,你现在不言自明。如果你是异性,会不会爱上现在的自己?

一个人可以非常清贫,困顿低微,但是不可以没有梦想,只要梦想一天。那一天就可以改变自己的处境。威尔逊用一句话总结:"我们因梦想而伟大,所有的成功者都是大梦想家,在冬夜的火堆旁,在阴天的雨雾中,梦想着未来,有些人让梦想悄然绝灭,有些人的悉心培育、维护,直到它安然渡过困境,迎来光明,希望,而光明和希望总是降临在那些真心相信梦想一定会成真的人身上"。无梦想何茫,每伏于我之心,使我之心常不平,至此梦为实。就像埋在地下的种子一样,它们必须发芽,长出地面去追寻太阳的痕迹。

梦想就像镜中月,看起来很近,但你若是想要去触摸,你必须付出难以想象的努力,远方的美好。站在金字塔顶端俯视可看到众生,站在金字塔的底端,充斥在你眼前的只是砖石。高度,同样代表着你的眼界,若你周围都是生命的世事烦琐,你的心中也不会有天地的浩荡。是的,海的博大,在于它的海纳百川,但你看不到那一切,又怎会收容包纳一切?

人有梦,因梦不同。梦想得久,则成,我们难道不是在前人的梦想之中吗?春有春之暖,夏有夏之热,秋有秋之获,冬有冬之寒,得受生活的乐趣。

奋发是生命的常态,生命的岁月若不像流星燃烧,激情四射。又有何意义?不要让你就像过去百万年逝去的岁月一样,在历史的长河中逐渐归于尘埃,汲汲无名度过一生,你愿意吗?买菜洗衣做饭,朝九晚六,一眼可以看到底的生活是一种深渊。当你凝视深渊的时候,深渊也在凝视着你。

鹿晗在《勋章》中唱到:

"可我会像奥德修斯一样 ,

朝着心中的方向 ,

哪怕众神会在彼岸阻挡 ,

当我需要独自站在 ,

远方的沙场 ,

武器就是我紧握的梦想 ,

而我受过的伤 ,

都是我的勋章。"

你不能把这个世界维持在你所不喜欢的样子。努力和遗憾,哪个更痛苦?坚持的人都是自己的英雄。在一次又一次的打击中"重整山河待后生",将惨不忍睹的失败化作动力,在和血吞牙中变得越来越刚强。请不要放弃,不能放弃,你的每一次失败都将化作脚下的基石,为你的下一步奠定坚实的基础,请坚信你的梦想,哪怕代价是在现实面前,撞得头破血流,在他人嘲讽中心被纠的生疼。顾里说:"我不知道什么是年少轻狂,我只知道胜者为王。

一个人要实现自己的梦想,最重要的是具备以下两个条件,勇气和行动。

你是你一生的主角,不能轻易放弃;承载了太多期许的目光,怎能轻易放弃?

那就让我们提笔为刀,奋战到底。

不相信世界就是这样,明知道:

有的时候必须低头,

有的人必将失去,

有的东西命中注定不能长久,

仍然要说在第一千个选择之外,还有第1001扇窗等着我打开

然后有光透进来!

结语

最后感谢所有可爱的阅读者,希望大家都能够在2019完成自己的目标~


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
python (47,791
automation (620
selenium (194
test (187

Find Open Source By Browsing 7,000 Topics Across 59 Categories