无头浏览器和刮 – 解决scheme

我试图把浏览器自动testing套件和无头浏览器平台的可能的解决scheme清单能够刮。


浏览器testing/清理:

  • Selenium – 浏览器自动化中的polyglot旗舰,为Python,Ruby,JavaScript,C#,Haskell等提供绑定,用于Firefox(作为扩展)的IDE,用于更快的testing部署。 可以作为一个服务器,并具有吨的function。

JAVASCRIPT

  • PhantomJS – 使用屏幕截图和自动化的JavaScript无头testing,使用Webkit 。 从版本1.8开始,Selenium的WebDriver API被实现,所以你可以使用任何的WebDriver绑定和testing将与Selenium兼容
  • SlimerJS – 与PhantomJS类似,使用Gecko (Firefox)而不是WebKit
  • CasperJS – 基于PhantomJS和SlimerJS构build的JavaScript ,具有额外的function
  • Ghost驱动程序 – 用于PhantomJSWebDriver Wire Protocol的 JavaScript实现。
  • 新的 PhantomCSS – CSS回归testing。 一个CasperJS模块,用于使用PhantomJS和Resemble.js自动进行可视化回归testing。
  • 新的 WebdriverCSS – Webdriver.io的插件,用于自动化视觉回归testing
  • 新的 PhantomFlow – 通过testing描述和可视化用户stream程。 Web用户界面testing的一种实验方法。
  • 新的 trifleJS – 移植 PhantomJS API来使用Internet Explorer引擎。
  • 新的 CasperJS IDE (商业)

Node.js的

  • 节点 – 幻像 – 弥合了PhantomJSnode.js之间的差距
  • WebDriverJs – 由Selenium Team为Selenium WebDriver绑定node.js
  • WD.js – WebDriver / Selenium 2的节点模块
  • yiewd – WD.js包装使用最新的和谐发电机! 摆脱收益的callback金字塔
  • ZombieJs – 使用node.js进行疯狂快速的无头堆栈testing
  • NightwatchJs – 使用Selenium Webdriver的基于Node JS的testing解决scheme
  • 奇美拉 – 奇美拉:可以做任何事情phantomJS做的,但在一个完整的JS环境
  • Dalek.js – 通过Selenium Webdriver使用JavaScript进行自动跨浏览器testing
  • Webdriver.io – 通过预定义的50多个操作更好地实现WebDriver绑定
  • 梦魇 – 电子桥与高级API。
  • jsdom – 针对网页剪贴。 Node.js中实现了一个非常轻量级的DOM,它支持带有JavaScript的页面。

网页清理/采矿

  • Scrapy – Python ,主要是一个刮板/矿工 – 快速,有据可查,可以与Django Dynamic Sc​​raper进行良好的挖掘部署,或Scrapy Cloud for PaaS(无服务器)部署,可以在terminal或服务器独立进程,可以和芹菜一起使用,build在Twisted之上
  • Snailer – node.js模块,尚未testing。
  • Node-Crawler – node.js模块,尚未testing。

在线工具

  • 新的 在线HTTP客户端 – 专用的答案
  • CasperBox – 在线运行CasperJS脚本

相关链接和资源

  • Webscraping软件的比较
  • 新的 Resemble.js :图像分析和比较

问题:

  • 任何纯Node.js解决scheme或Nodejs到PhanthomJS / CasperJS模块,实际工作和logging?

答:奇美拉似乎是朝着那个方向走,结帐奇美拉

  • 其他的解决scheme比Selenium更容易JavaScript注入?

  • 你知道任何纯Ruby解决scheme吗?

回答:使用基于ruby的解决scheme检出由rjk创build的列表

  • 你知道任何有关的技术或解决scheme吗?

随意reedit这个问题,并添加内容,如你所愿! 感谢你的贡献!


更新

  1. 将SlimerJS添加到列表中
  2. 增加了Snailer和Node-Crawler和Node-Phantom
  3. 添加Yiewd WebDriver包装
  4. 增加了WebDriverJs和WD.js
  5. 添加鬼驱动程序
  6. 在Screen Scraper Blog上增加了Webscraping软件的比较
  7. 增加了ZombieJs
  8. 添加了Resemble.js和PhantomCSS和PhantomFlow ,分类和重新编辑的内容
  9. 04.01.2014,添加奇美拉 ,回答了2个问题
  10. 增加了NightWatchJs
  11. 增加了DalekJS
  12. 新增了WebdriverCSS
  13. 添加了CasperBox
  14. 增加了trifleJS
  15. 增加了CasperJS IDE
  16. 增加了噩梦
  17. 增加了jsdom
  18. 添加在线HTTP客户端 ,更新CasperBox(死)

如果Ruby是你的东西,你也可以尝试:

另外,Nokogirigem可以用于刮擦:

有一本关于如何利用nokogiri拼贴出版来拼图的书

一种基于JS的Selenium是Dalek.js 。 它不仅针对自动化的前端testing,还可以使用它进行截图。 它有所有重要浏览器的webdrivers。 不幸的是,这些networking驱动器似乎是值得改进的(只是不要说Firefox的“buggy”)。