一尘不染

浏览器和抓取-解决方案

scrapy

我正在尝试列出适用于浏览器自动测试套装和能够抓取的无头浏览器平台的可能解决方案。

浏览器测试/报废:

  • Selenium - 通晓多国语言的浏览器自动化的旗舰,为Python和Ruby,JavaScript中,C#,Haskell和更多,IDE的Firefox(作为扩展),更快的测试部署绑定。可以充当服务器并具有大量功能。
    JAVASCRIPT

  • PhantomJS - JavaScript使用Webkit进行无头测试,包括屏幕捕获和自动化。从1.8版开始,Selenium的WebDriver API已实现,因此你可以使用任何WebDriver绑定,并且测试将与Selenium兼容

  • SlimerJS-与PhantomJS相似,使用Gecko(Firefox)代替WebKit
  • CasperJS - JavaScript的,建立在两个PhantomJS和SlimerJS,具有额外的功能
  • Ghost Driver - 的JavaScript执行的webdriver的Wire协议的PhantomJS。
  • new PhantomCSS -CSS回归测试。一个CasperJS模块,用于使用PhantomJS和 Resemble.js自动化视觉回归测试。
  • new WebdriverCSS -插件为 Webdriver.io自动化视觉回归测试
  • new PhantomFlow-描述和可视化通过测试的用户流程。Web用户界面测试的实验方法。
  • new trifleJS-移植 PhantomJS API以使用Internet Explorer引擎。
  • new CasperJS IDE (commercial)

NODE.JS

  • Node- phantom-弥合PhantomJS和node.js之间的鸿沟
  • WebDriverJs -Selenium Team对node.js的Selenium WebDriver绑定
  • WD.js -WebDriver / Selenium 2的节点模块
  • yiewd - WD.js包装采用最新和谐发电机!用yield摆脱回调金字塔
  • ZombieJs-使用node.js进行快速,无头的全栈测试
  • NightwatchJs-使用Selenium Webdriver的基于Node JS的测试解决方案
  • Chimera -Chimera:可以完成phantomJS的所有工作,但是在完整的JS环境中
  • Dalek.js-通过Selenium Webdriver使用JavaScript自动进行跨浏览器测试
  • Webdriver.io-通过预定义的50多个操作更好地实现WebDriver绑定
  • Nightmare -具有高级API的电子桥。
  • jsdom-专门针对网络抓取。Node.js中实现的一种非常轻量级的DOM,它支持带有javascript的页面。
  • new Puppeteer-节点库,提供了用于控制Chrome或Chromium的高级API。默认情况下,Puppeteer无头运行。

网页抓取/挖掘

  • Scrapy - Python,主要是一个scraper / miner-快速,完善的文档,可以与Django Dynamic Sc​​raper链接以进行良好的挖掘部署,也可以与Scrapy Cloud进行PaaS(无服务器)部署相结合,可在终端或服务器独立程序中运行,可与Twisted顶部的Celery一起使用
  • Snailer - node.js模块,未经测试。
  • Node-Crawler - node.js模块,尚未测试。
    在线工具

  • new Web爬网语言 -用于爬网的简单语法

  • new 在线HTTP客户端 -专用SO答案

  • dead CasperBox-在线运行 CasperJS脚本

相关链接和资源

Web抓取软件的比较
新的 Resemble.js:图像分析和比较
问题:

是否有任何纯Node.js解决方案或PhanthomJS / CasperJS模块的Nodejs实际有效并已记录在案?
答: Chimera似乎朝这个方向发展,结帐Chimera

其他解决方案比Selenium更容易进行JavaScript注入吗?

你知道任何纯红宝石解决方案吗?

答案:检出由rjk使用基于ruby的解决方案创建的列表

你知道任何相关技术或解决方案吗?


阅读 611

收藏
2020-04-08

共1个答案

一尘不染

Dalek.js是一种基于JS的Selenium 。它不仅旨在进行自动化的前端测试,还可以使用它进行屏幕截图。它具有适用于所有重要浏览器的Web驱动程序。不幸的是,那些网络驱动程序似乎值得改进(只是对Firefox而言不是“buggy”)。

2020-04-08