对 CasperJS 进行远程调试

时间:2023-03-09 08:56:28
对 CasperJS 进行远程调试

CasperJS运行在PhantomJS之上,其实也是启用PhantomJS的远程调试功能

PhantomJS 是一个无图形界面的浏览器,它支持各种Web标准:DOM处理,CSS选择器,JSON,Canvas和SVG。且支持win,linux,osx平台。

远程调试

http://phantomjs.org/download.html  下载地址

http://casperjs.org/

远程调试允许通过另一个基于WebKit的浏览器(Safari和Chrome < 54)检查脚本和网页。

casperjs --remote-debugger-port=9000 test.js  

这个时候不会有任何输出。

var casper = require("casper").create();
var utils = require("utils");
debugger;
(function() {
    console.log("start");
    casper.start("http://www.freebuf.com"function() {
        debugger;
        this.evaluate(function() {
               a = document.getElementsByTagName("label")[4];
                console.log(a)
                a.click()
                console.log(1111);
        })
        });
        console.log(11111);
        casper.run();
})();
console.log("down")

访问,可以看到

对 CasperJS 进行远程调试

点击

http://192.168.1.107:9000/webkit/inspector/inspector.html?page=1

选择console,输入

__run()

对 CasperJS 进行远程调试

当运行完test.js,输出如下

对 CasperJS 进行远程调试

你再访问,就可以看到新的标签已经被打开了,

对 CasperJS 进行远程调试

点击Elements 可以查看DOM渲染情况,在Console下可以执行JS代码,方便执行相关操作,

对 CasperJS 进行远程调试

如果test.js又require了其他JS文件,在其他JS文件中加入 debugger;发现不会生效,有点失望。

主要是方便查看DOM渲染情况,并且能够输入JS进行操作DOM,方便排查情况。

请注意Chrome版本不能太高,需小于54

Google Chrome 所有版本下载

https://www.portablesoft.org/google-chrome-legacy-versions/