Need advice about which tool to choose?Ask the StackShare community!
PhantomJS vs Puppeteer: What are the differences?
Developers describe PhantomJS as "Scriptable Headless WebKit". PhantomJS (www.phantomjs.org) is a headless WebKit scriptable with JavaScript. It is used by hundreds of developers and dozens of organizations for web-related development workflow. On the other hand, Puppeteer is detailed as "Headless Chrome Node API". 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.
PhantomJS and Puppeteer can be categorized as "Headless Browsers" tools.
PhantomJS and Puppeteer are both open source tools. Puppeteer with 51.1K GitHub stars and 4.71K forks on GitHub appears to be more popular than PhantomJS with 26.9K GitHub stars and 5.7K GitHub forks.
Key Location, Tailor Brands, and NationBuilder are some of the popular companies that use PhantomJS, whereas Puppeteer is used by Huddle, Better, and Orangesys Inc.. PhantomJS has a broader approval, being mentioned in 77 company stacks & 47 developers stacks; compared to Puppeteer, which is listed in 25 company stacks and 18 developer stacks.
I am using Node 12 for server scripting and have a function to generate PDF and send it to a browser. Currently, we are using PhantomJS to generate a PDF. Some web post shows that we can achieve PDF generation using Puppeteer. I was a bit confused. Should we move to puppeteerJS? Which one is better with NodeJS for generating PDF?
You better go with puppeteer. It is basically chrome automation tool, written in nodejs. So what you get is PDF, generated by chrome itself. I guess there is hardly better PDF generation tool for the web. Phantomjs is already more or less outdated as technology. It uses some old webkit port that's quite behind in terms of standards and features. It can be replaced with puppeteer for every single task.
I suggest puppeteer to go for. It is simple and easy to set up. Only limitaiton is it can be used only for chrome browser and currently they are looking into expanding into FF. The next thing is Playwright which is just a scale up of Puppeteer. It supports cross browsers.
Pros of PhantomJS
- Scriptable web browser13
- Depends on QT3
- No ECMAScript 62
Pros of Puppeteer
- Very well documented10
- Scriptable web browser10
- Promise based6
Sign up to add or upvote prosMake informed product decisions
Cons of PhantomJS
Cons of Puppeteer
- Chrome only10