TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

PhantomJS: Archiving the project, suspending development

586 pointsby gowanabout 7 years ago

25 comments

emilsedghabout 7 years ago
Chrome and Firefox gaining headless modes is the ultimate goal Phantom could&#x27;ve achieved.<p>So I consider it a complete success.<p>Kudos to all contributors.
评论 #16512894 未加载
评论 #16512936 未加载
评论 #16512932 未加载
评论 #16514990 未加载
评论 #16516151 未加载
评论 #16514485 未加载
wgjordanabout 7 years ago
This project has been effectively dead since April 2017, when Vitallium stepped down as maintainer as soon as Headless Chrome was announced [1]:<p>&gt; Headless Chrome is coming [...] I think people will switch to it, eventually. Chrome is faster and more stable than PhantomJS. And it doesn&#x27;t eat memory like crazy. [...] I don&#x27;t see any future in developing PhantomJS. Developing PhantomJS 2 and 2.5 as a single developer is a bloody hell.<p>One potential path forward could have been to have PhantomJS support Headless Chrome as a runtime [2], which Paul Irish (of Google Chrome team) reached out to PhantomJS about. However, it seems there hasn&#x27;t been enough interest&#x2F;resources to ever make this happen.<p>[1] <a href="https:&#x2F;&#x2F;groups.google.com&#x2F;d&#x2F;msg&#x2F;phantomjs&#x2F;9aI5d-LDuNE&#x2F;5Z3SMZrqAQAJ" rel="nofollow">https:&#x2F;&#x2F;groups.google.com&#x2F;d&#x2F;msg&#x2F;phantomjs&#x2F;9aI5d-LDuNE&#x2F;5Z3SMZ...</a><p>[2] <a href="https:&#x2F;&#x2F;github.com&#x2F;ariya&#x2F;phantomjs&#x2F;issues&#x2F;14954" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ariya&#x2F;phantomjs&#x2F;issues&#x2F;14954</a>
micimizeabout 7 years ago
Timeline of what lead to this, from what I could gather:<p>• phantomjs is 7 years old, @pixiuPL has been contributing for about 2 months<p>• @ariya didn&#x27;t respond to his requests for <i>owner</i> level permissions<p>• @pixiuPL published an open letter to <i>the main page of phantomjs.org</i> <a href="https:&#x2F;&#x2F;github.com&#x2F;ariya&#x2F;phantomjs&#x2F;issues&#x2F;15345" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ariya&#x2F;phantomjs&#x2F;issues&#x2F;15345</a><p>• the stress leads @ariya to close the repo.<p>• @pixiuPL intends to continue development on a fork<p>This is a good reminder of why non-technical skills are so important in OS and in general.
评论 #16515656 未加载
评论 #16515652 未加载
评论 #16516682 未加载
评论 #16515783 未加载
TheAceOfHeartsabout 7 years ago
Some people are mentioning headless Chromium, so I wanna mention another tool I&#x27;ve used to replace some of phantomjs&#x27; functionality: jsdom [0].<p>It&#x27;s much more lightweight than a real browser, and it doesn&#x27;t require large extra binaries.<p>I don&#x27;t do any complex scrapping, but occasionally I want to pull down and aggregate a site&#x27;s data. For most pages, it&#x27;s as simple as making a request and passing the response into a new jsdom instance. You can then query the DOM using the same built-in browser APIs you&#x27;re already familiar with.<p>I&#x27;ve previously used jsdom to run a large web app&#x27;s tests on node, which provided a huge performance boost and drastically lowered our build times. As long as you maintain a good architecture (i.e. isolating browser specific bits from your business logic) you&#x27;re unlikely to encounter any pitfalls. Our testing strategy was to use node and jsdom during local testing and on each commit. IMO, you should generally only need to run tests on an actual browser before each release (as a safety net), and possibly on a regular schedule (if your release cycle is long).<p>[0] <a href="https:&#x2F;&#x2F;www.npmjs.com&#x2F;package&#x2F;jsdom" rel="nofollow">https:&#x2F;&#x2F;www.npmjs.com&#x2F;package&#x2F;jsdom</a>
评论 #16513097 未加载
评论 #16514525 未加载
评论 #16513143 未加载
评论 #16519625 未加载
评论 #16513087 未加载
enitihasabout 7 years ago
For those who haven&#x27;t looked at some of the commits by @pixiuPL, the list is here : <a href="https:&#x2F;&#x2F;github.com&#x2F;ariya&#x2F;phantomjs&#x2F;commits?author=pixiuPL" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ariya&#x2F;phantomjs&#x2F;commits?author=pixiuPL</a>.<p>To summarize: It does not look like the guy has done a single commit with any meaning. His commits are basically the following:<p>1. Adding his own name in package.json 2. Adding and deleting whitespace. 3. Deleting the entire project and commiting. 4. Adding the entire project back again and commiting.<p>Just out of curiosity: How likely is that someone may be able to use a large number of such non functional commits(adding and removing whitespace) to a popular open source repository to boost their career ambitions.(e,g. Claiming that they made 50 commits to a popular project might sound impressive in an interview.)
评论 #16517183 未加载
评论 #16517246 未加载
评论 #16516850 未加载
评论 #16517239 未加载
评论 #16523249 未加载
petercooperabout 7 years ago
Two alternatives:<p>Headless Chrome with Puppeteer: <a href="https:&#x2F;&#x2F;github.com&#x2F;GoogleChrome&#x2F;puppeteer" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;GoogleChrome&#x2F;puppeteer</a><p>Firefox-based Slimer.js: <a href="https:&#x2F;&#x2F;github.com&#x2F;laurentj&#x2F;slimerjs" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;laurentj&#x2F;slimerjs</a> (same API as Phantom which is useful if using a higher level library like <a href="http:&#x2F;&#x2F;casperjs.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;casperjs.org&#x2F;</a>)
评论 #16513288 未加载
lukebennettabout 7 years ago
As has been said, this point was somewhat inevitable with the advent of Chrome and Firefox&#x27;s headless modes. However, as the project slips into the mists of history, let&#x27;s not forget the vital stepping stone it provided in having access to a real headless browser environment vs a simulated one. I for one will remain grateful to Ariya, Vitallium and all the team for their efforts.
tnoletabout 7 years ago
I’m super biased in this, having spend considerable time programming against PhantomJs, Selenium and now Headless Chrome &#x2F; Puppeteer for my startup <a href="https:&#x2F;&#x2F;checklyhq.com" rel="nofollow">https:&#x2F;&#x2F;checklyhq.com</a>. This whole area of automating browser interactions is an extremely hard thing to get stable. In my experience, the recent Puppeteer library takes the cake but PhantomJs is the spiritual father here. I will not talk about Selenium for blood pressure reasons
评论 #16514112 未加载
评论 #16513295 未加载
rumblefrogabout 7 years ago
Within the issue @pixiuPL created, I listed some of the things that he has shown incompetence on: <a href="https:&#x2F;&#x2F;github.com&#x2F;ariya&#x2F;phantomjs&#x2F;issues&#x2F;15345#issuecomment-370269460" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ariya&#x2F;phantomjs&#x2F;issues&#x2F;15345#issuecomment...</a>
评论 #16517554 未加载
评论 #16517481 未加载
hrasyidabout 7 years ago
Ariya wrote a bit about his reasoning here: <a href="https:&#x2F;&#x2F;mobile.twitter.com&#x2F;AriyaHidayat&#x2F;status&#x2F;970173001701367808" rel="nofollow">https:&#x2F;&#x2F;mobile.twitter.com&#x2F;AriyaHidayat&#x2F;status&#x2F;9701730017013...</a> also mentioning an old post in <a href="https:&#x2F;&#x2F;github.com&#x2F;ariya&#x2F;phantomjs&#x2F;issues&#x2F;14541" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ariya&#x2F;phantomjs&#x2F;issues&#x2F;14541</a>
hartatorabout 7 years ago
I still think it&#x27;s premature. There is still couple of fields PhantomJS is better than Headless Chrome. Notably proxy support, and API aviability.
评论 #16513041 未加载
评论 #16515409 未加载
redkaabout 7 years ago
Well with Chrome going headless there isn&#x27;t a whole lot of place for PhantomJS anyway. Or is there? What is it still good for?
评论 #16512775 未加载
评论 #16512694 未加载
评论 #16512771 未加载
Analemma_about 7 years ago
There is one thing about this that saddens me: PhantomJS still starts up much faster than headless Firefox or Chrome, at least for me, which makes some of our integration tests take a long longer than they should.<p>Has anyone here figured out any tricks to get headless Chrome booted fast?
评论 #16513245 未加载
评论 #16521094 未加载
评论 #16513357 未加载
评论 #16522323 未加载
sergiotapiaabout 7 years ago
End of an era! Congratulation to team for all their hard work and excellent contribution to help teams build better software.<p>All the best to everybody!
pknerdabout 7 years ago
Somehow I am having issue to use both headless FireFox|Chrome. Unlike PhantomJS where all I had to do is to drop the binary and set the path, both FF and Chrome are not following same route thus I am happy to use PhantomJS for a while
isuckatcodingabout 7 years ago
I would think PhantomJS is still quite heavily used so having some kind of migrator to puppeteer would be useful. I’m sure people would pay $$$ for it.
skrebbelabout 7 years ago
Thank you, PhantomJS contributors. You built a life saver.
chxabout 7 years ago
Drupal dropped PhantomJS too <a href="https:&#x2F;&#x2F;www.drupal.org&#x2F;project&#x2F;drupal&#x2F;issues&#x2F;2775653" rel="nofollow">https:&#x2F;&#x2F;www.drupal.org&#x2F;project&#x2F;drupal&#x2F;issues&#x2F;2775653</a>
kschillerabout 7 years ago
Does anyone here know if there&#x27;s a way to set SSL client certs with Headless Chrome? With PhantomJS I could use<p><pre><code> --ssl-client-certificate-file and --ssl-client-key-file</code></pre>
Changuabout 7 years ago
I do lightweight web automation via Chromiums &quot;Snippets&quot;. It is super nice to work that way because you see on screen what happens and can check everything realtime in the console. Only problem is that they dont survive page loads. So when my snippet navigates to a new url I have to trigger it again manually. What would be a good way to progress from here so I can automate across pages?
评论 #16514024 未加载
moondevabout 7 years ago
I remember taking full page screenshots with phantom back in the day. Really cool project. Nightmarejs is another alt with a friendly api.
rutierutabout 7 years ago
One of the guys working on P-JS just linked from a GH issue to his open letter... He isn&#x27;t very happy with the owner blah blah blah and is going to fork the master branch to make phantom great again, I&#x27;ll just put this here:<p>&quot;Will do as advised, as I really think PhantomJS is good project, it just needs good, devoted leader.&quot;
评论 #16516435 未加载
评论 #16514959 未加载
chirag64about 7 years ago
Shoot, I was just planning to use this for generating PDFs out of a URL on nodejs. Does anyone know of any other library &#x2F; module out there that is good at this?
评论 #16515378 未加载
评论 #16515248 未加载
评论 #16515298 未加载
wnevetsabout 7 years ago
is headless chrome&#x27;s API just as easy to work with? Taking a screenshot or saving a page as pdf is stupid simple with phantomjs
评论 #16514160 未加载
wxyyxc1992about 7 years ago
Thanks &amp; Goodbye