page.evaluate() 未打印控制台消息
page.evaluate() is not printing console message
我也是Javascript的初学者,也是phantomjs
的初学者。我正在尝试运行这个简单的控制台程序。但它不是打印This is page evaluating!
.我也可以在控制台Page is opened successfully
上看到此消息。
这是我的程序:
var page=require('webpage').create();
page.open("https://www.google.com/", function(){
console.log("Page is opened successfully");
page.evaluate(function(){
console.log('This is page evaluating!');
});
phantom.exit();
});
完整输出:
页面已成功打开
您必须
注册到 page.onConsoleMessage
事件才能查看打印到控制台的页面上下文中的console.log()
,因为页面上下文(page.evaluate()
内部(是沙盒化的,并且不会自动显示这些事件。
page.onConsoleMessage = function(msg, lineNum, sourceId) {
console.log('CONSOLE: ' + msg + ' (from line #' + lineNum + ' in "' + sourceId + '")');
};
在调用包含您感兴趣的console.log()
的 page.evaluate()
之前注册活动。大多数情况下,这应该在初始化全局变量后完成:
var page = require('webpage').create();
page.onConsoleMessage = function(msg) {
console.log('remote> ' + msg);
};
page.open("https://www.example.com/", function(){
console.log("Page is opened successfully");
page.evaluate(function(){
console.log('This is page evaluating!');
});
phantom.exit();
});
其他有用的事件包括:onResourceError、onError 和 onResourceError。
相关文章:
- 按压“;输入“;将值打印到控制台日志
- 将数组的拼接分配给自身时,Javascript控制台打印不起作用
- 打印javascript控制台的堆栈跟踪
- 打印到控制台时为NaN,但typeof为数字jquery
- 为什么控制台.log(true,' ')打印真“ ”
- system.err风格的控制台以javascript打印
- 如何做if/else语句并使用控制台.log打印出来
- 谷歌浏览器控制台,打印图像
- Grails:多个加载ajax调用,但只有一个打印到控制台
- page.evaluate() 未打印控制台消息
- 它将打印控制台.log(1+ + “2”)
- Selenium NodeJS将cookie打印到控制台
- 使用javascript在HTML的输出窗口中打印控制台消息
- 如何将52个随机生成的数字打印到控制台
- jQuery显示函数打印到控制台
- 如何在控制台.log中打印 JSON 数据
- js 如何将对象名称打印到控制台
- 打印机.js未打印到控制台
- Node.js打印控制台输出两次
- 否则,如果不打印控制台值