gpt4 book ai didi

node.js - 为什么在使用 Nightmare.js 或 phantom.js 抓取网站时显示 phantom std out 错误

转载 作者:太空宇宙 更新时间:2023-11-03 23:39:30 26 4
gpt4 key购买 nike

我正在尝试使用 phantom.js 编写一个网络蜘蛛。但是我收到了很多错误消息,我不知道为什么。我的代码如下所示:

  • 使用 Nightmare.js:

    var Nightmare = require('nightmare');
    new Nightmare()
    .goto('http://www.amazon.com/Aroma-Housewares-ASP-137-3-Quart-Super/dp/B00024JQ3Q')
    .evaluate( function(){
    return document.getElementById('priceblock_ourprice').textContent;
    }, function( numAnchors ){
    console.log(numAnchors);
    })
    .run();
  • 使用 phantom.js:

    var page = require('webpage').create();
    console.log('The default user agent is ' + page.settings.userAgent);
    page.open('http://www.amazon.com/Aroma-Housewares-ASP-137-3-Quart-Super/dp/B00024JQ3Q', function(status) {
    if (status !== 'success') {
    console.log('Unable to access network');
    } else {
    var ua = page.evaluate(function() {
    return document.getElementById('priceblock_ourprice').textContent;
    });
    console.log(ua);
    }
    phantom.exit();
    });

错误消息相同:

phantom stdout: ReferenceError: Can't find variable: ue.......
........
........
phantom stdout: TypeError: 'null' is not an object (evaluating 'old_error_handler.apply')
.......
$35.99

我可以在最后一行得到结果,但是上面显示了很多错误,这是为什么?

最佳答案

这种情况会经常发生。当前的 PhantomJS (1.9.7) 基于与 Chrome 13 或 Safari 5 相当的旧 QtWebkit 分支。有问题的页面很可能在 JavaScript 中使用了 PhantomJS 无法理解的内容。大多数时候,这无需担心,因为网站仍将按预期运行。

关于node.js - 为什么在使用 Nightmare.js 或 phantom.js 抓取网站时显示 phantom std out 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26435703/

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