PhantomJS未返回输入的值



我正试图使用phantomJS从网站上获取<input type="hidden" id="exampleID" name="example" value="exampleValue">的值。在做了一些研究后,我发现了这种方法,但它似乎对我不起作用:

var system = require('system');
var page   = require('webpage').create();
var url    = system.args[1];
page.open(url, function () {
console.log(document.getElementById('exampleID').value);
phantom.exit();
});

运行时,我一无所获。如果我在浏览器控制台中键入console.log(document.getElementById('exampleID').value),我就会得到所需的输出。此外,如果我将js更改为console.log(page.content(,我会得到整个页面的源代码,但我想要的值仍然缺失。我的猜测是,这是因为隐藏的属性。如何使phantomjs输出隐藏对象的值?

您必须设置page.onConsoleMessage:

var system = require('system');
var url    = system.args[1];
var page   = require('webpage').create();
page.onConsoleMessage = function (str) {
console.log(str);
};
page.open(url, function () {
console.log(document.getElementById('exampleID').value);
phantom.exit();
});

相关内容

  • 没有找到相关文章

最新更新