如何调试PhantomJS中page.evaluate()函数内的Javascript代码?

时间:2015-12-01 08:30:57

标签: javascript debugging phantomjs

我有一个PhantomJS(1.9)脚本“test.js”(代码取自PhantomJS docs) -

var webPage = require('webpage');
var page = webPage.create();

page.open('http://m.bing.com', function(status) {

  var title = page.evaluate(function() {
    // >> I have a breakpoint here, but debugger doesnt stop!
    return document.title;
  });

  console.log(title);
  phantom.exit();

});

我正在使用phantomjs --remote-debugger-port=9000 test.js和chrome。

调试此代码

我可以访问除page.evaluate()内的代码之外的所有代码断点。 有没有办法调试它?

1 个答案:

答案 0 :(得分:2)

这是一个古老的问题,phantomJS引擎已经存在很长时间了,但是对于所有像我一样必须维护遗留代码的人来说,这是我准备的一个gif,它逐步显示了如何调试phantomjs脚本和里面打开的页面。 因此,您需要做的是在页面脚本中放置一个断点,然后复制当前浏览器选项卡的链接,并将页面编号增加一个。这会将调试器附加到内部脚本,您将能够调试代码。 您可以逐步查看gif(太大而无法查看)=> https://gaziedutr-my.sharepoint.com/:i:/g/personal/ahmet_bekir_urun_gazi_edu_tr/EZUj5yMbgqJIpun7qBdfF5sB3QWWg1r5u3MwayiKsw4Lug?e=PXeS8t