Web的辅助工具,主流的有selenium、phantomjs以及puppeteer这三者,本节课程就来详细的介绍一下它们的优势和短板。1.SeleniumSelenium是一款开源的自动化测试工具,很多编程语言,Python语言也支持。而且支持非常多的浏览器,例如Chrome、Firefox等。Selenium测试直接在浏览器中运行,就像真实用户所做的一样。Selenium测试可以在Windows、Linux和MacOS上的Chrome和Firefox中运行。其他测试工具都不能覆盖如此多的平台。使用Selenium和在浏览器中运行测试还有很多其他好处。Selenium完全开源,对商业用户也没有任何限制,支持分布式,拥有成熟的社区与学习文档优势:Selenium开源,文档多,长期维护更新。跨平台,支持Windows、MacOS、LinuxSelenium直接驱动浏览器,支持chrome、firefox等大部分浏览器。Selenium开源,操作简单,轻松实现复杂操作。支持Web移动网页的测试。劣势:安装略麻烦,需要Selenium库、浏览器【例如Chrome】以及浏览器的驱动程序。加载慢,因为是驱动浏览器,所以会加载页面内容,例如图片、字体、静态资源cssjs文件等。Selenium驱动的浏览器特征明显,爬虫使用Selenium容易被封。2.phantomjsPhantomJS是一个基于webkit的JavaScriptAPI。它使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行JavaScript代码。任何你可以在基于webkit浏览器做的事情,它都能做到。它不仅是个隐形的浏览器,提供了诸如CSS选择器、支持Web标准、DOM操作、JSON、HTML5、Canvas、SVG等,同时也提供了处理文件I/O的操作,从而使你可以向操作系统读写文件等。PhantomJS的用处可谓非常广泛,诸如网络监测、网页截屏、无需浏览器的Web测试、页面访问自动化等。优势:没有界面,网站加载到内存并执行页面上的JavaScript,所以运行起来比完整的浏览器更高效。劣势:只支持JS语言不支持flash,没法处理视频网站的测试。暴露的底层api太少。目前已经停止开发。目前已经停止开发。3.PuppeteerPuppeteer是Chrome开发团队在2017年发布的一个Node.js包,用来模拟Chrome浏览器的运行。Puppeteer是Node.js工具引擎,提供了一系列API,通过ChromeDevToolsProtocol协议控制Chromium/Chrome浏览器的行为。默认情况下是以headless启动Chrome的,也可以通过参数控制启动有界面的Chrome。Puppeteer默认绑定最新的Chromium版本,使用时自动下载,也可以自己设置不同版本的绑定。优势:在无界面的环境中运行Chrome。通过命令行或者程序语言操作Chrome。自身...