6 ms·
PhantomJS 2.0 is getting ready for release
- josephmecham 12y agoExcellent! I have used PhantomJS for web scraping but as that is always a gray area of legality. I'd love to hear any other major uses you've seen it used for. I always love it when I find that a tool I'm using can be used for other purposes.
- pothibo 12y agoI once wanted to do automated testing with it. But because PhantomJS used an old webkit version, I couldn't :( But that's one use case where I would love to use phantomJS or any other headless engine to test the frontend. I'm aware that for headless testing to work, there should be a headless browser of every major vendor. Maybe it's an utopia.
- serve_yay 12y agoYes, my team ran directly into the old webkit version issue as well. Does this 2.0 still use an old WebKit? Having trouble finding out... Edit: it appears to be WebKit 538.1, from May 2014. But this is based on a readme which is pretty old, so it could be outdated info
- simlevesque 12y agoI have solved this problem by using SlimerJS as an alternative.
- serve_yay 12y agoYeah, unfortunately we can't install that one on our build box, I believe because it needs X11. (As the page says it is not "totally headless")
- simlevesque 12y agoYou are mistaken. You can install SlimerJS on a box without X11. You must install Xvfb use it like this : xvfb-run slimerjs script.js If you use casperjs you can modify the executable (it's python) and change "'default_exec' : 'slimerjs'" into "'default_exec' : 'xvfb-run slimerjs'"
- pothibo 12y agoIt uses a new version of Webkit(That includes DOM Mutation Events IIRC). But I believe that they always ship with their own version of webkit, which will always be behind. For PhantomJS 2.0, I think they ship with a version of webkit that is > 6 months old.
- warfangle 12y agoThey don't ship with their own version of webkit; they use qtwebkit (or at least used to?).
- jamespitts 12y agoI've been using jquerygo (which runs on phantomjs) to do automated UI testing. The familiar jquery selectors are convenient! Being able to use websockets in my automated testing has been something of a holy grail, so jquerygo and phantomjs have been hugely helpful. https://github.com/travist/jquery.go.js https://github.com/travist/jquery.go.js
- weego 12y agoPrimarily scraping of comet/ajax updating sites of course, but also some interesting uses for testing - crawling a site taking screenshots and then comparing screenshots across releases looking for layout bugs was quite a fun thing. The same principle as https://github.com/BBC-News/wraith https://github.com/BBC-News/wraith
- greensoap 12y agoI use it to let my linux-based custom digital picture frame automatically pull photos from my IOS photostream. This is insecure because it requires that my photos are temporarily public, but it gets the job done.
- CJefferson 12y agoI use it to print out HTML presentations. I did found some very annoying bugs in saving to PDF (I'll have to see if they have got fixed!), but this is the only (scriptable) way I know of saving each slide of a HTML presentation to PDF (which you need sometimes)
- yeldarb 12y agoWe use it to generate screenshots to use as the images in our open graph tags.
- hedgehog 12y agoBaking SVGs into PNGs for attaching to e-mails. We used D3 to generate SVG charts for displaying analytics data in-browser and then use Phantom to generate PNG versions. Works well.
- veidr 12y agoI used PhantomJS to drive a system integration with a hostile legacy web application. By hostile I mean that the legacy system had no API, was implemented using obfuscated code, and resisted being driven by URLs. We needed to integrate with it to create documents, calendar appointments, etc. in the legacy system, based on stuff that was happening in the newer system we were building. We ended up using PhantomJS to implement a module that drove the legacy system via its HTML user interface -- pushing buttons, selecting meeting participants from the HTML select tags, submitting forms, etc. Although that sounds (and is!) hacky as hell, it worked flawlessly 100% of the time. PhantomJS was a gift from the gods.
- kyledrake 12y agoPhantomJS is amazing. We use it to take screenshots of web sites on Neocities: https://neocities.org/browse https://neocities.org/browse
- chedigitz 12y agoSame here! It's saved us a tremendous amount of time for screenshots, especially when dealing with different sized viewports. Happy to see CSS3 is supported in 2.0 :) A big thanks to PhantomJS devs!
- edwinnathaniel 12y agoExcellent news. We, AppNeta, use PhantomJS to perform Synthetic web-app monitoring http://www.appneta.com/products/appview/ http://www.appneta.com/products/appview/ While PhantomJS has some limitation here and there, it is the _only_ headless browser our there AFAIK. Disclaimer: I work for AppNeta (specifically for the AppView product).
- mofle 12y agoHappy to see this! We use PhantomJS in our CLI tool Pageres, but the fact that the bundled WebKit engine in PhantomJS 1.x is ancient has caused a lot of headake for us and our users. https://github.com/sindresorhus/pageres https://github.com/sindresorhus/pageres
- untog 12y agoGreat news! I use PhantomJS, and I'm going to use this Hacker News thread as a really thinly veiled attempt at advertising my startup! We use PhantomJS as a headless browser, sometimes taking screenshots. I know, crazy. Anyway: http://www.mystartup.com http://www.mystartup.com
- freshyill 12y agoThe current release has no (very very limited?) flexbox support, making PhantomJS less and less useful for working with modern layouts. I'm very excited about this release.
- Ronsenshi 12y agoThat's great. Couple of things that I had to battle with in the past should be fixed in 2.0, so - awesome news.
- jwklemm 12y agoVery nice! I've been using PhantomJS 2.0 for a while now at my automated browser testing startup: https://ghostinspector.com/ https://ghostinspector.com/ (It's been available to build from source for a couple months.) It has a few lingering bugs (for instance, some issues with file uploads), but overall, it's a nice improvement over 1.9.x. The JavaScript engine is much newer and the rendering is improved.
- seanp2k2 12y agoChangelog: https://github.com/ariya/phantomjs/blob/0352ddb502be9cb53cdb173fd7d97e3764e0c222/ChangeLog https://github.com/ariya/phantomjs/blob/0352ddb502be9cb53cdb...