Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PhantomJS不返回结果_Phantomjs - Fatal编程技术网

PhantomJS不返回结果

PhantomJS不返回结果,phantomjs,Phantomjs,我正在测试PhantomJS,并试图返回angel.co上列出的所有初创公司。我决定使用PhantomJS,因为我需要通过点击底部的“下一步”来翻阅首页。现在,这段代码不会返回任何结果。我对PhantomJS完全陌生,并且已经阅读了所有的代码示例,因此非常感谢提供任何指导 var page = require('webpage').create(); page.open('https://angel.co/startups', function(status) { if (status !==

我正在测试PhantomJS,并试图返回angel.co上列出的所有初创公司。我决定使用PhantomJS,因为我需要通过点击底部的“下一步”来翻阅首页。现在,这段代码不会返回任何结果。我对PhantomJS完全陌生,并且已经阅读了所有的代码示例,因此非常感谢提供任何指导

var page = require('webpage').create();
page.open('https://angel.co/startups', function(status) {
if (status !== 'success') {
    console.log('Unable to access network');
} else {
     page.evaluate(function() {
        var list = document.querySelectorAll('div.resume');
        for (var i = 0; i < list.length; i++){
           console.log((i + 1) + ":" + list[i].innerText);
        }
     });
}
phantom.exit();
});
var page=require('webpage').create();
第页打开('https://angel.co/startups,功能(状态){
如果(状态!=“成功”){
console.log('无法访问网络');
}否则{
page.evaluate(函数(){
var list=document.querySelectorAll('div.resume');
对于(变量i=0;i
默认情况下,页面上评估的控制台消息将不会出现在您的PhantomJS控制台中

当您在
page.evaluate(…)
下执行代码时,该代码将在页面的上下文中执行。所以当你有
console.log((i+1)+“:“+list[i].innerText”),它被记录在无头浏览器本身中,而不是在PhantomJS中

如果希望将所有控制台消息传递给PhantomJS本身,请在打开页面后使用以下命令:

page.onConsoleMessage = function (msg) { console.log(msg); };
页面。每当您从页面内打印到控制台时,都会触发OnConsolleMessage
。通过这个回调,您要求PhantomJS将消息回显到它自己的标准输出流中

作为参考,您的最终代码如下(这为我成功打印):

var page=require('webpage').create();
第页打开('https://angel.co/startups,功能(状态){
page.onConsoleMessage=函数(msg){console.log(msg);};
如果(状态!=“成功”){
console.log('无法访问网络');
}否则{
page.evaluate(函数(){
var list=document.querySelectorAll('div.resume');
对于(变量i=0;i
如果您能展示如何使用CasperJS实现这一点,您将获得额外的荣誉积分。。我可以访问casper.page,但没有OnConsolleMessage选项。没关系。。解决了这个问题:
var page = require('webpage').create();

page.open('https://angel.co/startups', function(status) {
    page.onConsoleMessage = function (msg) { console.log(msg); };
    if (status !== 'success') {
        console.log('Unable to access network');
    } else {
         page.evaluate(function() {
            var list = document.querySelectorAll('div.resume');
            for (var i = 0; i < list.length; i++){
               console.log((i + 1) + ":" + list[i].innerText);
            }
         });
    }
    phantom.exit();
});