我正在尝试列出适用于浏览器自动测试套装和能够抓取的无头浏览器平台的可能解决方案。
浏览器测试/报废:
- 硒 - 通晓多国语言的浏览器自动化的旗舰,为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,具有额外的功能
- 幽灵驱动程序 - 的JavaScript执行的webdriver的Wire协议的PhantomJS。
- 新的 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 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绑定
- 噩梦 -具有高级API的电子桥。
- jsdom-专门针对网络抓取。Node.js中实现的一种非常轻量级的DOM,它支持带有javascript的页面。
- 新的 Puppeteer-节点库,提供了用于控制Chrome或Chromium的高级API。默认情况下,Puppeteer无头运行。
网页抓取/挖掘
- Scrapy - Python,主要是一个scraper / miner-快速,完善的文档说明,可以与Django Dynamic Scraper链接以进行良好的挖掘部署,或与Scrapy Cloud进行PaaS(无服务器)部署相结合,可在终端或服务器独立程序中运行,可与Twisted顶部的Celery一起使用
- Snailer - node.js模块,未经测试。
- Node-Crawler - node.js模块,尚未测试。
在线工具
新的 在线HTTP客户端 -专用SO答案
死的 CasperBox-在线运行 CasperJS脚本
相关链接和资源
- Web抓取软件的比较
- 新的 Resemble.js:图像分析和比较
问题:
- 是否有任何纯粹的Node.js解决方案或PhanthomJS / CasperJS模块的Nodejs实际上有效并已记录在案?
答: Chimera似乎朝这个方向发展,结帐Chimera
其他比Selenium更容易注入JavaScript的解决方案?
您知道任何纯红宝石解决方案吗?
答案:检出由rjk使用基于ruby的解决方案创建的列表
- 您知道任何相关技术或解决方案吗?
随意编辑此问题并根据需要添加内容!感谢你的贡献!
1
不知道这是否就是您想要的,但是我喜欢该模块,用于爬网网页,检查dom等:npmjs.org/package/crawler。它使用jsdom,您可以将jQuery作为选择器引擎。这个(使用抓取工具)看起来也很有趣:npmjs.org/package/snailer
—
hereandnow78 2013年
我在node-phantom模块上取得了很多成功。这很简单,而且文档也很齐全。它确实支持javascript注入。
—
Josh C.
我相信您知道GhostDriver是使用phantomJS的Selenium-Webdriver的实现
—
Robbie Wareham
您可能还会发现此帮助:blog.screen-scraper.com/2010/06/28/…–
—
todd
对于视觉抓取和比较:PhantomCSS和PhantomFlow
—
FelipeAls 2013年