Javascript 幻影不';不呈现整页内容

Javascript 幻影不';不呈现整页内容,javascript,phantomjs,automated-tests,rendering,headless-browser,Javascript,Phantomjs,Automated Tests,Rendering,Headless Browser,我不熟悉PhantomJS,也不熟悉最基本的代码:获取谷歌页面并捕获屏幕截图 我正在尝试获取的URL是: 如果在真实的浏览器中打开它,您将看到它如下所示: 但我的幻影看到了这一点: 起初,我认为异步web内容加载可能太慢,所以我设法等待了几秒钟,然后捕获屏幕,但我看到PhantomJS仍然无法获取内容 以下是我的代码片段: var page = require('webpage').create(); page.settings.userAgent = 'Mozilla/5.0 (X11;

我不熟悉PhantomJS,也不熟悉最基本的代码:获取谷歌页面并捕获屏幕截图

我正在尝试获取的URL是:

如果在真实的浏览器中打开它,您将看到它如下所示:

但我的幻影看到了这一点:

起初,我认为异步web内容加载可能太慢,所以我设法等待了几秒钟,然后捕获屏幕,但我看到PhantomJS仍然无法获取内容

以下是我的代码片段:

var page = require('webpage').create();
page.settings.userAgent = 'Mozilla/5.0 (X11; CrOS x86_64 8172.45.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.64 Safari/537.36';
page.viewportSize = { width: 1280, height: 800 };

page.open('https://www.google.com/#tbm=lcl&q=starbucks', function() {

  setTimeout(function(){
    page.render('screenshot_failed.png');
    phantom.exit();
  }, 5000);
});

请指出在获取此网页时可能遗漏的内容。谢谢

除了您已有的所有代码外,请尝试在打开的回调中强制页面达到您想要的大小:

var width = 1280;
var height = 800;
var webpage = require('webpage');

page.open('https://www.google.com/#tbm=lcl&q=starbucks', function(status) {
    page.evaluate(function(w, h) {
      document.body.style.width = w + "px";
      document.body.style.height = h + "px";
    }, width, height);
    page.clipRect = {top: 0, left: 0, width: width, height: height};                                                                                                                           
    page.render('screenshot_failed.png');
});

是否尝试设置视口大小
page.viewportSize={宽度:480,高度:800}
Hi@quirimmo谢谢你的评论。是的,我尝试将其设置为1280x800,但没有帮助。(我将更新问题以反映这一变化。)哦,奇怪,你能尝试另一种解决方案吗?张贴它作为答案,但我会删除它,如果它不会有帮助。在这里编写或粘贴代码很糟糕-谢谢,但仍然不起作用。。。我得到了完全相同的截图,没有任何内容……哦,你想得到截图。所以,请让我们试试我在回答中修改的代码。完成后,请调整此代码以与您的代码匹配