Can I get an interactive JS debugger working on PhantomJS and/or CasperJS?
PhantomJS has a remote-debugger-port
option you can use to debug your casper script in Chrome dev tools. To use it, simply execute your casper script with this argument:
casperjs test script.js --remote-debugger-port=9000
Then, open up http://localhost:9000 in Chrome and click on the about:blank
link that presents itself. You should then find yourself in familiar Chrome dev tools territory.
Since this is a script and not a web page, in order to start debugging, you have to do one of two things before your script will execute:
__run()
to actually start your script. debugger;
line in your code, and run your casper script with an additional --remote-debugger-autorun=yes
argument. Doing so with the remote debug page open will run the script until it hits your debugger;
line.There's a great tutorial that explains this all very nicely.