CasperJSย vsย PhantomJSย vsย Puppeteer

Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!


+ 1

+ 1

+ 1

What is CasperJS?

CasperJS is a browser navigation scripting & testing utility written in Javascript for PhantomJS or SlimerJS.

What is PhantomJS?

PhantomJS ( is a headless WebKit scriptable with JavaScript. It is used by hundreds of developers and dozens of organizations for web-related development workflow.

What is Puppeteer?

Puppeteer is a Node library which provides a high-level API to control headless Chrome over the DevTools Protocol. It can also be configured to use full (non-headless) Chrome.
Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Why do developers choose CasperJS?
Why do developers choose PhantomJS?
Why do developers choose Puppeteer?
    Be the first to leave a pro
      Be the first to leave a con
        Be the first to leave a con
        What companies use CasperJS?
        What companies use PhantomJS?
        What companies use Puppeteer?

        Sign up to get full access to all the companiesMake informed product decisions

        What tools integrate with CasperJS?
        What tools integrate with PhantomJS?
        What tools integrate with Puppeteer?

        Sign up to get full access to all the tool integrationsMake informed product decisions

        What are some alternatives to CasperJS, PhantomJS, and Puppeteer?
        Selenium automates browsers. That's it! What you do with that power is entirely up to you. Primarily, it is for automating web applications for testing purposes, but is certainly not limited to just that. Boring web-based administration tasks can (and should!) also be automated as well.
        It is a pure-JavaScript implementation of many web standards, notably the WHATWG DOM and HTML Standards, for use with Node.js. In general, the goal of the project is to emulate enough of a subset of a web browser to be useful for testing and scraping real-world web applications.
        Chrome automation made simple. Runs locally or headless on AWS Lambda.
        Serverless Chrome
        The aim of this project is to provide the scaffolding for using Headless Chrome during a serverless function invocation. Serverless Chrome takes care of building and bundling the Chrome binaries and making sure Chrome is running when your serverless function executes. In addition, this project also provides a few "example" handlers for common patterns (e.g. taking a screenshot of a page, printing to PDF, some scraping, etc.)
        It is a headless browser that executes JavaScript for people crawling websites. It is open source and fully integrated with Scrapy and Portia. You can also use its API to integrate with any project that needs to render JavaScript pages.
        See all alternatives
        Decisions about CasperJS, PhantomJS, and Puppeteer
        Tim Abbott
        Tim Abbott
        Founder at Zulip ยท | 3 upvotes ยท 167K views

        We use CasperJS because we adopted it back in 2013 for JavaScript frontend testing. It was a really nice system back then compared to what else was out there; you had PhantomJS as a programmable browser that actually rendered CSS and everything, it was really fast (speed is a big downside of e.g. Selenium), and it was possible to make non-flaky frontend integration tests with it.

        I wouldn't recommend it today, because PhantomJS is a basically dead project, and as a result, so is CasperJS. I expect we'll migrate to something else. We haven't in large part because 95% of our new tests are written with a simple Node.js-based unit testing framework we use that run 35K lines of unit tests covering most of our JS codebase in 3.6 seconds. And for the things where we want an integration test, CasperJS does work, and I think there's a good chance that waiting another year or two will result in our being able to switch to a much better option than what we'd get if we migrated now.

        See more
        Interest over time
        Reviews of CasperJS, PhantomJS, and Puppeteer
        No reviews found
        How developers use CasperJS, PhantomJS, and Puppeteer
        Avatar of fadingdust
        fadingdust uses PhantomJSPhantomJS

        We run PhantomJS as part of the CircleCI testing, comparing against other branches to ensure changes are limited to their intended scope.

        Avatar of Nough You
        Nough You uses PhantomJSPhantomJS

        Headless browsing, headless chrome is good too, this is not supported anymore.

        Avatar of ByeongGi
        ByeongGi uses PhantomJSPhantomJS
        • ์›น ํฌ๋กค๋ง(์Šคํ”„๋žฉํ•‘) ๊ณต๋ถ€๋ฅผ ์œ„ํ•ด์„œ ๊ฐ€์ƒ ๋ธŒ๋ผ์šฐ์ ธ์—์„œ ์ œ์ด์ฟผ๋ฆฌ๋ฅผ ๋กœ๋”ฉํ•˜์—ฌ ํŽ˜์ด์Šค๋ถ์—์„œ ๋ฌดํ•œ ์Šคํฌ๋กค์‹œ์— ๋ฐœ์ƒ ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํž˜
        Avatar of Veggie Sailor
        Veggie Sailor uses PhantomJSPhantomJS

        Functional tests / screenshots generation.

        Avatar of Alexpts Pts
        Alexpts Pts uses PhantomJSPhantomJS
        How much does CasperJS cost?
        How much does PhantomJS cost?
        How much does Puppeteer cost?
        Pricing unavailable
        Pricing unavailable
        Pricing unavailable
        News about CasperJS
        More news
        News about Puppeteer
        More news