Browse By

Headless Browser and scraping – solutions – Stack Overflow

I’m trying to put list of possible solutions for browser automatic tests suits and headless browser platforms capable of scraping.


BROWSER TESTING / SCRAPING:

  • Seleniumpolyglot flagship in browser automation, bindings for Python, Ruby, JavaScript, C#, Haskell and more, IDE for Firefox (as an extension) for faster test deployment. Can act as a Server and has tons of features.

JAVASCRIPT

  • PhantomJSJavaScript, 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
  • CasperJSJavaScript, build on both PhantomJS and SlimerJS, has extra features
  • Ghost DriverJavaScript 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
  • new Nightmare – PhantomJS bridge with a high-level API. It uses PhantomJS-Node under the hood.

WEB SCRAPING / MINING

  • ScrapyPython, mainly a scraper/miner – fast, well documented and, can be linked with Django Dynamic Scraper for nice mining deployments, or Scrapy Cloud for PaaS (server-less) deployment, works in terminal or an server stand-alone proces, can be used with Celery, built on top of Twisted
  • Snailernode.js module, untested yet.
  • Node-Crawlernode.js module, untested yet.

ONLINE TOOLS


RELATED LINKS & RESOURCES

Questions:

  • Any pure Node.js solution or Nodejs to PhanthomJS/CasperJS module that actually works and is documented?

Answer: Chimera seems to go in that direction, checkout Chimera

Answer: Checkout the list created by rjk with ruby based solutions

  • Do you know any related tech or solution?

Feel free to reedit this question and add content as you wish! Thank you for your contributions!


Updates

  1. added SlimerJS to the list
  2. added Snailer and Node-Crawler and Node-phantom
  3. added Yiewd WebDriver wrapper
  4. added WebDriverJs and WD.js
  5. added Ghost Driver
  6. added Comparsion of Webscraping software on Screen Scraper Blog
  7. added ZombieJs
  8. added Resemble.js and PhantomCSS and PhantomFlow, categorised and reedited content
  9. 04.01.2014, added Chimera, answered 2 questions
  10. added NightWatchJs
  11. added DalekJS
  12. added WebdriverCSS
  13. added CasperBox
  14. added trifleJS
  15. added CasperJS IDE
  16. added Nightmare

selenium – Headless Browser and scraping – solutions – Stack Overflow.

More