PhantomJS 控制台.log对象输出 [对象对象]
PhantomJS console.log objects outputs [object object]
我使用以下代码来获取页面内的所有img标签:
"use strict";
var system = require('system');
var args = system.args;
var page = require('webpage').create();
page.onLoadStarted = function () {
console.log('Loading Page...');
};
page.onLoadFinished = function (status) {
console.log('Loading finished.');
var imgs = page.evaluate(function() {
console.log(document.images);
console.log(document.images.length);
return document.images;
});
for (var i = 0; i < imgs.length; i++){
//console.log(JSON.stringify(imgs[i]));
console.log(imgs[i]);
console.log(imgs[i].alt);
}
phantom.exit();
};
page.open(system.args[1]);
它按预期正确输出替代文本,但在以下行:
console.log(imgs[i]);
它只输出:"[对象对象]"我希望获得所有的 img 标签代码,如果我使用 JSON.stringify,它会输出一个非常长的 msg,它也不是我想要的 img 标签代码。
谁能解释一下发生了什么?我如何获得 img 标签代码?
> 这是怎么回事?不知道说实话。我怀疑您正在将PhantomJS记录Element
对象的处理与Chrome的JS控制台进行比较,后者将实时引用显示为标签而不是[Object object]
。如果您要从Chrome alert(imgs[i])
,则会看到[Object HTMLImageElement]
。
你会从console.log(imgs[i].outerHTML);
得到你想要的。
请参阅Element.outerHTML
。
相关文章:
- 如何使用构造函数's的输出,以便将值插入到对象中
- JavaScript-从对象数组中输出随机OBJECT
- 如何为输出Json对象的ajax调用编写客户端脚本
- EJS 仅输出对象的某些部分
- 如何使用 JQuQuery 解析 JSON 对象并在 HTML 页面中以表格格式打印输出
- PhantomJS 控制台.log对象输出 [对象对象]
- Javascript 对象输出到 Array
- 在模板中为Django表单分离媒体类对象的JS和CSS列表输出
- 如何使用getJSON将数据从JSON对象输出为HTML
- c#linq对象到javascript输出
- 在用于电子表格的Javascript中输出对象中的数组
- 从 Express 发送的对象输出到 Jade 的适当值
- Angularjs,从json对象输出一个字符串或一个字符串数组
- 将我的对象输出为css结构
- Chrome Javascript控制台-使用Console.log(obj)引用对象输出
- 附加文本元素后的对象输出
- 如何格式化对象输出
- 如何从PHP对象输出单行JavaScript
- 在 JavaScript 中显示对象输出
- 我如何从对象输出中删除函数