我有一个 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()
里面的代码,我可以到达所有代码断点.有没有办法调试它?
最佳答案
这是一个老问题,phantomJS 引擎已经遗留了很长一段时间,但对于所有像我一样必须维护遗留代码的人来说,这是我准备的一个 gif,它显示了如何逐步调试的过程phantomjs 脚本和里面打开的页面。
所以你需要做的就是在页面脚本中放置一个断点,复制当前浏览器标签页的链接,将页码加一。这会将调试器附加到内部脚本,您将能够调试您的代码。
你可以查看一步一步的gif(它太大了,无法上传)=> https://gaziedutr-my.sharepoint.com/:i:/g/personal/ahmet_bekir_urun_gazi_edu_tr/EZUj5yMbgqJIpun7qBdfF5sB3QWWg1r5u3MwayiKsw4Lug?e=PXeS8t
关于javascript - 如何在 PhantomJS 中的 page.evaluate() 函数中调试 Javascript 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34015870/