有没有办法在网站上截取每个页面的屏幕截图?

时间:2018-06-07 08:59:10

标签: javascript phantomjs web-crawler nightwatch.js cheerio

我们有几个旧网站正在进行升级。能够截取每个页面然后md5对这两个域的结果进行求和将是有用的,然后测试呈现的所有内容是否匹配100%。

我不确定如何执行此操作 - 我们查看了cheerio哪些会抓取网站但无法截屏,而夜视可以截取屏幕截图但不抓取网站。有没有人有这方面的经验?

2 个答案:

答案 0 :(得分:2)

一个简单的解决方案是使用Chrome in headless mode,也可以使用Puppeteer等许多节点模块进行控制。

摘自Google Developers页面:

chrome --headless --disable-gpu --screenshot https://www.chromestatus.com/

关于抓取,您可以使用Cheerio和Puppeteer的混合来抓取链接并截取屏幕截图。或者,您可以找到一些工具,允许导出包含所有网站网址的站点地图(example),此时应该很容易遍历它们并截取每个网址。

答案 1 :(得分:1)

您可以将StormCrawler与Selenium一起使用并编写自定义NavigationFilter来截取屏幕截图并将其md5sum存储在文档元数据中。有关SC + Selenium的介绍,请参阅tutorial

下一步可能是编写自定义索引器并将带有md5s的URL转储到数据库或文件中。最后,您对网站的较新版本执行相同操作,并比较表格中文件或行的内容。