我试图列出一些浏览器自动化测试套件和能够进行抓取的无头浏览器平台的可能解决方案列表。
浏览器测试/抓取:
- 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 - JavaScript,基于PhantomJS和SlimerJS构建,具有额外功能
- Ghost Driver - PhantomJS的JavaScript实现WebDriver Wire协议。
- 新 PhantomCSS - CSS回归测试。CasperJS模块用于使用PhantomJS和Resemble.js自动化视觉回归测试。
- 新 WebdriverCSS - 用于自动化视觉回归测试的Webdriver.io插件
- 新 PhantomFlow - 描述并通过测试可视化用户流。 Web用户界面测试的实验性方法。
- 新 trifleJS - 将PhantomJS API移植为使用Internet Explorer引擎。
- 新 CasperJS IDE (商业版)
NODE.JS
- Node-phantom - 连接 PhantomJS 和 node.js 的桥梁
- WebDriverJs - Selenium 团队为 node.js 提供的 WebDriver 绑定
- WD.js - 用于 WebDriver/Selenium 2 的 node.js 模块
- yiewd - 使用最新的 Harmony 生成器的 WD.js 包装器!通过 yield 摆脱回调金字塔
- ZombieJs - 使用 node.js 的极快速、无头全栈测试
- NightwatchJs - 基于 Node JS 的测试解决方案,使用 Selenium Webdriver
- Chimera - Chimera:可以做到 PhantomJS 所做的一切,但在完全的 JS 环境中
- Dalek.js - 通过 Selenium Webdriver 自动化跨浏览器测试的 JavaScript
- Webdriver.io - 拥有预定义的 50 多个操作的更好的 WebDriver 绑定实现
- Nightmare - 具有高级 API 的 Electron 桥梁。
- jsdom - 专为 Web 抓取而设计。在 Node.js 中实现的非常轻量级的 DOM,支持带有 JavaScript 的页面。
- new Puppeteer - 提供控制 Chrome 或 Chromium 的高级 API 的 Node 库。默认情况下,Puppeteer 以无头方式运行。
WEB SCRAPING / MINING
- Scrapy - 基于Python的网页爬虫框架,速度快、文档齐全,可以与Django Dynamic Scraper集成实现规模化数据挖掘,或使用Scrapy Cloud进行PaaS(无服务器)部署,在终端或一个独立进程中运行,可与Celery和Twisted集成使用
- Snailer - Node.js模块,未经测试
- Node-Crawler - Node.js模块,未经测试
在线工具
new Web Scraping Language - 简单的语法用于爬取网站数据
new Online HTTP client - 专门针对SO提问的回答
dead CasperBox - 在线运行CasperJS脚本
Android自动化工具
相关链接和资源
- 网页抓取软件比较
- new Resemble.js:图像分析和比较
问题:
- 有没有纯Node.js解决方案或Nodejs到PhanthomJS/CasperJS模块,实际可用且有文档支持?
答案:Chimera似乎往这个方向发展,可以查看Chimera
除了Selenium之外,还有哪些能够更轻松地进行JavaScript注入的解决方案?
你知道任何纯ruby解决方案吗?
答案:请查看rjk创建的基于ruby的解决方案列表
- 你知道任何相关技术或解决方案吗?
欢迎编辑此问题并根据您的意愿添加内容!感谢您的贡献!