371

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


浏览器测试/抓取:

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

JAVASCRIPT

  • PhantomJS - JavaScript,具有屏幕捕获和自动化的无头测试,使用Webkit。自 1.8 版起,实现了 Selenium 的 WebDriver API,因此您可以使用任何 WebDriver 绑定,并且测试将与 Selenium 兼容
  • SlimerJS - 类似于 PhantomJS,使用Gecko (Firefox) 而不是WebKit
  • CasperJS -基于 PhantomJS 和 SlimerJS 构建的JavaScript,具有额外的功能
  • Ghost Driver -用于PhantomJS的WebDriver Wire 协议的JavaScript实现。
  • 新的 PhantomCSS - CSS 回归测试。一个 CasperJS 模块,用于使用 PhantomJS 和Resemble.js自动进行视觉回归测试。
  • 的WebdriverCSS -用于自动化视觉回归测试的Webdriver.io插件
  • 新的 PhantomFlow - 通过测试描述和可视化用户流。Web 用户界面测试的实验方法。
  • trifleJS - 移植 PhantomJS API 以使用 Internet Explorer 引擎。
  • 新的 CasperJS IDE (商业)

节点.JS

  • Node-phantom - 弥补了PhantomJSnode.js之间的差距
  • WebDriverJs - Selenium Team 为 node.js 提供的 Selenium WebDriver 绑定
  • WD.js - WebDriver/Selenium 2 的节点模块
  • yiewd - 使用最新的 Harmony 生成器的 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 的页面。
  • 新的 Puppeteer - 提供高级 API 来控制 Chrome 或 Chromium 的节点库。Puppeteer 默认无头运行。

网页抓取/挖掘

  • Scrapy - Python,主要是一个爬虫/矿工 - 快速,有据可查,并且可以与Django Dynamic Sc​​raper 链接以进行良好的挖矿部署,或用于 PaaS(无服务器)部署的Scrapy Cloud,在终端或服务器独立进程中工作, 可以与Celery一起使用,建立在Twisted之上
  • Snailer - node.js模块,尚未测试。
  • Node-Crawler - node.js模块,尚未测试。

在线工具

Android 自动化工具


相关链接和资源

问题:

  • 任何纯 Node.js 解决方案或 Nodejs 到 PhanthomJS/CasperJS 模块的实际工作并记录在案?

答案: Chimera 似乎朝那个方向发展,查看Chimera

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

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

答案:使用基于 ruby​​ 的解决方案查看 rjk 创建的列表

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

随意编辑此问题并根据需要添加内容!感谢您的贡献!

4

3 回答 3

35

如果你喜欢 Ruby,你也可以尝试:

此外,Nokogiri 宝石可用于刮削:

packt publishing 有一本关于如何利用 nokogiri 进行抓取的专门书

于 2013-09-07T00:11:50.007 回答
11

http://triflejs.org/类似于 phantomjs 但基于 IE

于 2014-08-27T09:17:51.303 回答
7

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

于 2014-02-27T16:23:38.743 回答