Work progress on WWW::Mechanize::NodeJs
Lots of people use WWW::Mechanize::Firefox. This makes me happy.
Some of these people would like to do away with needing Firefox to be running on the machine doing the automation. To look in that direction, and to gain some familiarity with nodejs, I started porting the proxy object backend MozRepl::RemoteObject to nodejs. I've uploaded the work in progress to Github as NodeJs::RemoteObject
. There is a lot of copied and pasted code between the two ::RemoteObject
modules, and likely, this will beget a third, shared incarnation of (Javascript) proxy object implementations.
The main thing that's still needed is to actually write a web "browser" implementing just enough to run most web applications, for nodejs. I think there already is something called "jsdom", which claims to be just enough of a browser to make this work.
Have you looked at Zombie.js, Phantom.JS or webkitd?
http://zombie.labnotes.org/
http://www.phantomjs.org/
https://github.com/amachang/webkitd
Also check out WWW::HtmlUnit for another solution -- works pretty darn well I say :)
Thanks for the links - I had looked for alternative implementations, but missed all three of them. I think the "Zombie" is out, because it needs C++ and Python, and npm is broken since NodeJs 0.5.7 - and I don't want to accumulate prerequisites for little gain.
PhantomJs looks very promising, as it is a full WebKit browser, and - yet another browser to build a bridge to.
WWW::HtmlUnit is nice, but pulls in Java and Rhino - too heavyweight, even when compared to Firefox :)
WWW::HtmlUnit is certainly more heavyweight than firefox -- but not more heavyweight than firefox + a VM to run it on! :) (maybe headless X isn't so bad)
None the less, I look forward to a v8 based server side (headless) HtmlUnit equivalent!