6 ms·
PhantomJS 2.5.0 beta
- samuraixp 10y agoDoes anyone have a working version of phantomjs 2.1.1 with ghostdriver that connects to selenium grid? I tried this one for example but it just crashes randomly when the jobs are running: https://github.com/AkeemMcLennon/docker-selenium-node-phantomjs https://github.com/AkeemMcLennon/docker-selenium-node-phanto... The latest 2.5.0 beta doesnt have the updated ghostdriver yet. How much ram does chrome --headless use (true headless not XvfB), because I want to run about 200 of these in parallel and keeping the ram down is important obviously. Does anyone have any suggestions? I figure by using selenium grid I can run them in docker containers and even on multiple hardware machines. Currently, I am running about 50 in parallel with Magellan https://github.com/TestArmada/magellan https://github.com/TestArmada/magellan But its hitting some kind of system limits or sync issues because each process is started before run time rather than ready and waiting in a pool. Any help on running 200 headless browsers via selenium grid would be greatly appreciated. I think the current selenium chrome Xvbf docker container uses like 300mb+ per instance so that would be 60gb of ram which is a fair bit.
- alistproducer2 10y agoI got 2.1.1 working on my raspberry pi. The binary I have is an arm build but I can confirm that the issue can be solved by editing the binary as detailed in https://gist.github.com/neuro-sys/41e368839a9b20dafb34 https://gist.github.com/neuro-sys/41e368839a9b20dafb34 I forked the binary from https://mecrazy.net/2016/06/06/i-built-phantomjs-2-1-1-for-raspberry-pi/ https://mecrazy.net/2016/06/06/i-built-phantomjs-2-1-1-for-r... it's available here: https://github.com/ShamariFeaster/phantomjs-binaries https://github.com/ShamariFeaster/phantomjs-binaries
- samuraixp 10y agoDoes anyone have a working version of phantomjs 2.1.1 with ghostdriver that connects to selenium grid? I tried this one for example but it just crashes randomly when the jobs are running: https://github.com/AkeemMcLennon/docker-selenium-node-phantomjs https://github.com/AkeemMcLennon/docker-selenium-node-phanto... The latest 2.5.0 beta doesnt have the updated ghostdriver yet. How much ram does chrome --headless use (true headless not XvfB), because I want to run about 200 of these in parallel and keeping the ram down is important obviously. Does anyone have any suggestions? I figure by using selenium grid I can run them in docker containers and even on multiple hardware machines. Currently, I am running about 50 in parallel with Magellan https://github.com/TestArmada/magellan https://github.com/TestArmada/magellan But its hitting some kind of system limits or sync issues because each process is started before run time rather than ready and waiting in a pool. Any help on running 200 headless browsers via selenium grid would be greatly appreciated. I think the current selenium chrome Xvbf docker container uses like 300mb+ per instance so that would be 60gb of ram which is a fair bit.
- kyledrake 10y agoAlso worth mentioning is SlimerJS, which is not headless but allows you to do WebGL screenshots: http://slimerjs.org/ http://slimerjs.org/
- computerwizard 10y agoHappy to see this project updated! I use it regularly and currently there's just somethings it can't handle, maybe it can now.
- st3fan 10y agoHow about networking improvements? I gave up on PhantomJS a long time ago because it did not support SNI and was therefore unable to talk to most HTTPS sites. Is that situation better now with this new release and the newer Qt underneath?
- gowan 10y agothis is a beta release so you can test those features and provide feedback.
- petetnt 10y agoAwesome! I was just doing a PhantomJS using project few weeks ago and the QtWebKit 5.6 upgrades were something I sorely needed. Keep up the good work!
- sandstrom 10y agoAn alternative to PhantomJS is Nightmare (http://www.nightmarejs.org/ http://www.nightmarejs.org/), based of Electron. We're currently using PhantomJS for some headless stuff, but are considering a switch.
- samwillis 10y agoThe trouble with Nightmare and Electron is that they can't be run truly headless, you need to use xvfb with its additional overhead. There are various requests to have electron made truly headless but its not a core feature that most users want. However we may see it supported (I hope) when the new headless features of Google Chrome make there way down into libchromiumcontent then electron.
- mohamedmansour 10y agoNot really ... You can run it in software rendering just fine. That is what we do.
- heipei 10y agoThis is just my opinion, but I can see PhantomJS lose a lot of its appeal when the --headless switch for Google Chrome hits the stable channel (quite a way off still, sure). This was already discussed to some extent here: https://news.ycombinator.com/item?id=11839303 https://news.ycombinator.com/item?id=11839303. Add a couple of porcelain libraries on top of chrome-remote-interface, and you have an even more powerful instrumented headless browser, plus you don't need to worry about security, performance and keeping up with crazy new web features. Also, Chrome headless will encompass features aimed at automation/CI like: - "Virtual" time (fast-forward time) - Session isolation (even for same origin) - Full page screenshots out of the box Slides for Chrome headless: https://docs.google.com/presentation/d/1gqK9F4lGAY3TZudAtdcxzMQNEE7PcuQrGu83No3l0lw/edit#slide=id.g13338d98ec_0_25 https://docs.google.com/presentation/d/1gqK9F4lGAY3TZudAtdcx... Shameless plug: I'm using Google Chrome to drive https://urlscan.io https://urlscan.io and will make the switch to the headless version once it's included in the Beta channel.
- jotto 10y agoshameless plug: I'm already using headless Chrome for https://www.prerender.cloud/ https://www.prerender.cloud/ and it's amazing (just building it from source https://docs.google.com/document/d/1a9cdsljKxCSreR2LDE3KErJhfyC0N9y5ju2UYZb8-J4/edit https://docs.google.com/document/d/1a9cdsljKxCSreR2LDE3KErJh...)
- kinlan 10y agoShameless plug: I've been using it to get Chrome on Google home - https://paul.kinlan.me/chrome-on-home/ https://paul.kinlan.me/chrome-on-home/ (Disclosure: I'm a developer advocate for chrome so I'm heavily biased, but I love everything people are doing g with browsers on the server https://paul.kinlan.me/the-headless-web/ https://paul.kinlan.me/the-headless-web/ )
- nathancahill 10y agoSuper cool. I understand that you're biased, but this would have been easy to do with Readability.js from Mozilla :) I wrote something similar to serve low-bandwidth (pre-readabilitied pages) to my parents low-bandwidth internet over a MITM proxy.
- nathancahill 10y agoI wish the PhantomJS project was more upfront about the version of Qt (and therefore Webkit) that ships with each version, like they are in this email. That information is very hard to track down otherwise, and I think it's the most crucial part of each release (since feature support in Phantom tends to lag browsers by several years). Additionally, it would be cool for sites like caniuse or MDN to track Qt Webkit feature support as well.
- mnutt 10y agoI built QtWebKit with roughly the same version used for Phantom 2.5, here's the support from html5test.com: https://rm891swy536139ttwzee.mnutt.sandcats.io/853e0e85-170e-4282-a447-c72633854edf.png https://rm891swy536139ttwzee.mnutt.sandcats.io/853e0e85-170e... I specifically left out some audio/video support from my build because I didn't need it. And Qt 5.8 will be released this month with HTTP/2 support.
- tannhaeuser 10y agoCongrats and thanks to the phantomjs devs for dedicating their time to develop this useful software. I've used PhantomJS for web app testing, but not as general-purpose browser automation tool. Imperfect, insufficient, and under-maintained as it may be, I appreciate the existence of the Webdriver API and its main implementation based on PhantomJS. It defines a baseline model for web test case development, and a choice of implementations for test execution (recently also directly supported by Safari, I believe).
- jaytaylor 10y agoNoteworthy - For an exhaustive list of alternatives, also see: https://github.com/dhamaniasad/HeadlessBrowsers https://github.com/dhamaniasad/HeadlessBrowsers
- rossy 10y agoI haven't used the new version of QtWebKit yet, but I've heard the changes are pretty huge and they basically bring QtWebKit back up to par with other modern web browsers. It's pretty exciting to see one of the lesser known web browser engines get development like this, especially since it results in improvements to things like qutebrowser (and PhantomJS.)
- ghisguth 10y agoDo you know why devs is no unresponsive on mailing list and gitgub? There are many pull request to fix bugs and they are simply ignoring them.
- trestletech 10y agoVolunteers with finite amounts of time.
- beebs93 10y agoThis is good news - looking forward to it! I'm hoping this will eventually speed up my tests during deployment a bit as I currently have to pipe my ES2015 code through a Karma transform to have it readable by my PhantomJS instance.
- oli5679 10y agoI have really benefited from using this tool on a couple of side projects. If any Devs are reading, thank you for continuing to work on such a useful tool!
- callumprentice 10y agohttps://bitbucket.org/lindenlab/dullahan/src/default/examples/README.md https://bitbucket.org/lindenlab/dullahan/src/default/example... Working on this - Dullahan which is a headless browser SDK based on Chromium Embedded Framework and hope to have something like PhantomJS working soon albeit using a modern browser rendering engine.
- mohamedmansour 10y agoElectron is headless when you pass "show" to be false. Works great and pretty quick.