我试图把可能的解决方案的浏览器自动测试套装和无头浏览器平台能够抓取。


浏览器测试/抓取:

Selenium——浏览器自动化的多语言旗舰,Python、Ruby、JavaScript、c#、Haskell等的绑定,用于Firefox的IDE(作为扩展),用于更快的测试部署。可以作为一个服务器,并有吨的功能。

JAVASCRIPT

PhantomJS - JavaScript, headless testing with screen capture and automation, uses Webkit. As of version 1.8 Selenium's WebDriver API is implemented, so you can use any WebDriver binding and tests will be compatible with Selenium SlimerJS - similar to PhantomJS, uses Gecko (Firefox) instead of WebKit CasperJS - JavaScript, build on both PhantomJS and SlimerJS, has extra features Ghost Driver - JavaScript implementation of the WebDriver Wire Protocol for PhantomJS. new PhantomCSS - CSS regression testing. A CasperJS module for automating visual regression testing with PhantomJS and Resemble.js. new WebdriverCSS - plugin for Webdriver.io for automating visual regression testing new PhantomFlow - Describe and visualize user flows through tests. An experimental approach to Web user interface testing. new trifleJS - ports the PhantomJS API to use the Internet Explorer engine. new CasperJS IDE (commercial)

node . js

Node-phantom - bridges the gap between PhantomJS and node.js WebDriverJs - Selenium WebDriver bindings for node.js by Selenium Team WD.js - node module for WebDriver/Selenium 2 yiewd - WD.js wrapper using latest Harmony generators! Get rid of the callback pyramid with yield ZombieJs - Insanely fast, headless full-stack testing using node.js NightwatchJs - Node JS based testing solution using Selenium Webdriver Chimera - Chimera: can do everything what phantomJS does, but in a full JS environment Dalek.js - Automated cross browser testing with JavaScript through Selenium Webdriver Webdriver.io - better implementation of WebDriver bindings with predefined 50+ actions Nightmare - Electron bridge with a high-level API. jsdom - Tailored towards web scraping. A very lightweight DOM implemented in Node.js, it supports pages with javascript. new Puppeteer - Node library which provides a high-level API to control Chrome or Chromium. Puppeteer runs headless by default.

网页抓取/挖掘

Scrapy - Python,主要是一个scraper/miner -快速,有良好的文档,可以与Django Dynamic scraper链接,用于良好的挖掘部署,或者Scrapy Cloud用于PaaS(无服务器)部署,可以在终端或服务器独立进程中工作,可以与芹菜一起使用,构建在Twisted之上 node.js模块,尚未测试。 Node-Crawler - node.js模块,尚未测试。

在线工具

新的网页抓取语言-简单的语法抓取网页 新的在线HTTP客户端-专用的SO回答 在线运行CasperJS脚本

Android自动化工具

新的Mechanica浏览器应用程序


相关链接及资源

网络抓取软件的比较 js:图像分析和比较

问题:

任何纯Node.js解决方案或Nodejs到PhanthomJS/CasperJS模块,实际上工作并有文档?

答:奇美拉似乎是朝那个方向发展的,结帐奇美拉

还有比Selenium更容易注入JavaScript的解决方案吗? 你知道什么纯红宝石的解决方案吗?

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

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

请随意编辑这个问题并添加您希望的内容!感谢您的贡献!


当前回答

一种基于js的Selenium是Dalek.js。它不仅旨在自动前端测试,还可以使用它进行屏幕截图。它为所有重要的浏览器提供了web驱动程序。不幸的是,这些网络驱动程序似乎值得改进(只是不是说Firefox有“bug”)。

其他回答

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

https://github.com/chriskite/anemone (dev stopped) https://github.com/sparklemotion/mechanize https://github.com/postmodern/spidr https://github.com/stewartmckee/cobweb http://watirwebdriver.com/(硒)

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

http://nokogiri.org/

有一个专门的书关于如何利用nokogiri刮包出版

一种基于js的Selenium是Dalek.js。它不仅旨在自动前端测试,还可以使用它进行屏幕截图。它为所有重要的浏览器提供了web驱动程序。不幸的是,这些网络驱动程序似乎值得改进(只是不是说Firefox有“bug”)。

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