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

问题描述 投票:4回答:1

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

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()中的代码外,我可以到达所有代码断点。有没有办法调试它?

javascript debugging phantomjs
1个回答
1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.