gpt4 book ai didi

javascript - 不能用 zombie.js 执行 javascript?

转载 作者:搜寻专家 更新时间:2023-10-31 23:02:54 25 4
gpt4 key购买 nike

好的,我是 node.js 的新手:当我尝试加载 google.com 并在页面中执行脚本时,如下所示:

var zombie=require("zombie");
browser = new zombie.Browser({ debug: true })
browser.visit("http://www.google.com",function(err,_browser,status){
if(err){
throw(err.message);
}
})

但出现错误:

28 Feb 16:06:40 - The onerror handler

on target

{ frames: [ [Circular] ],
contentWindow: [Circular],
window: [Circular],
…………………………

我能做什么?

最佳答案

实际的错误消息隐藏在错误输出的下方。在 browser.visit 函数中,添加...

console.log(err.message);

...在 throw(err.message); 之上。这应该可以让您更好地了解出了什么问题 :)

编辑:在 www.google.com 上测试了 node 0.4.1/zombie 0.9.1 后,问题似乎是由 javascript 错误(ILLEGAL TOKEN)引起的。您可以像这样设置 zombie 代码来规避 javascript 错误:

browser = new zombie.Browser();
browser.runScripts = false; // this disables executing javascript
browser.visit("http://www.google.com/", function (err, browser) {
if (err) { console.log('Error:' + err.message); }
else { console.log('Page loaded successfully'); }
// ... rest of your code here
});

就我个人而言,我觉得当前的 zombie 错误输出没有太大帮助,所以我更喜欢将其关闭并在出现问题时显示一条简单的 console.log 消息。

最后,您还可以通过将 debug: true 传递给浏览器函数来调试错误:

browser = new zombie.Browser({ debug: true });

这将输出所有调用(包括 ajax)并可能有助于查明错误来源。

祝你好运!

关于javascript - 不能用 zombie.js 执行 javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5139580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com