Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.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
Javascript 使用PhantomJS滚动页面-不工作_Javascript_Phantomjs - Fatal编程技术网

Javascript 使用PhantomJS滚动页面-不工作

Javascript 使用PhantomJS滚动页面-不工作,javascript,phantomjs,Javascript,Phantomjs,我正在尝试使用PhantomJS来滚动整个myactivity.google.com。如果你有一个有搜索历史记录的Google帐户,当你向下滚动到底部时,你就会知道你的历史记录会被动态加载。我试图滚动尽可能多,以便我可以有我的所有历史加载,然后我可以刮的数据,并把它在csv格式。关于PhantomJS的一本书中的以下滚动代码运行良好: var webpage = require('webpage').create(); webpage.viewportSize = { width: 1280,

我正在尝试使用PhantomJS来滚动整个myactivity.google.com。如果你有一个有搜索历史记录的Google帐户,当你向下滚动到底部时,你就会知道你的历史记录会被动态加载。我试图滚动尽可能多,以便我可以有我的所有历史加载,然后我可以刮的数据,并把它在csv格式。关于PhantomJS的一本书中的以下滚动代码运行良好:

var webpage = require('webpage').create();

webpage.viewportSize = { width: 1280, height: 800 };
webpage.scrollPosition = { top: 0, left: 0 };

webpage.open('https://twitter.com/founddrama', function(status) {
  if (status === 'fail') {
    console.error('webpage did not open successfully');
    phantom.exit(1);
  }

  var i = 0,
      top,
      queryFn = function() {
        return document.body.scrollHeight;
      };

  setInterval(function() {
    var filename = 'twitter-' + (++i) + '.png';
    console.log('Writing ' + filename + '...');
    webpage.render(filename);

    top = webpage.evaluate(queryFn);

    console.log('[' + i + '] top = ' + top);
    webpage.scrollPosition = { top: top + 1, left: 0 };

    if (i >= 5) {
      phantom.exit();
    }
  }, 3000);
});
终端输出:

Writing twitter-1.png...
[1] top = 5823
Writing twitter-2.png...
[2] top = 5604
Writing twitter-3.png...
[3] top = 10709
Writing twitter-4.png...
[4] top = 16047
Writing twitter-5.png...
[5] top = 21074
但当我试图使它适应我的:

    console.log("It started here.");
var system = require('system');
var username = ''; // username for Google account goes here
var password = ''; // password goes here
var page = require('webpage').create();
page.viewportSize = { width: 1920, height: 1080 };
page.scrollPosition = { top: 0, left: 0 };
/*
page.open("http://www.google.com", function start(status) {
  page.render('/Users/jMac-NEW/Documents/FILEMAKER OCLC/google_home3.png');
  phantom.exit();
});*/
console.log("It is now here.");


page.open('https://accounts.google.com/Login?continue=https://myactivity.google.com/myactivity&hl=en', function () {
  page.render('/Users/jMac-NEW/Documents/FILEMAKER OCLC/login_test15_brkpoint1.png');
  page.evaluate(function (uid) {
      var username_field = document.getElementById('Email');
      username_field.value = uid;
     /* var password_field = document.getElementById('id_password');
      password_field.value = pwd;

      var form = document.getElementById('login-form'); */

      // form.submit();
    }, username);
  page.render('/Users/jMac-NEW/Documents/FILEMAKER OCLC/login_test15_brkpoint2.png');
  page.evaluate(function () {

     /* var password_field = document.getElementById('id_password');
      password_field.value = pwd; */

      var form = document.getElementById('gaia_loginform');

      form.submit();
    });
  setTimeout( function() {
    page.render('/Users/jMac-NEW/Documents/FILEMAKER OCLC/login_test15_brkpoint3.png');
    page.evaluate(function (pid) {
        var password_field = document.getElementById('Passwd');
        password_field.value = pid;
       /* var password_field = document.getElementById('id_password');
        password_field.value = pwd;

        var form = document.getElementById('login-form'); */

        // form.submit();
        console.log("Check if can log in a page.evaluate");
      }, password);
    page.render('/Users/jMac-NEW/Documents/FILEMAKER OCLC/login_test15_brkpoint4.png');
    page.evaluate(function () {

       /* var password_field = document.getElementById('id_password');
        password_field.value = pwd; */

        var form = document.getElementById('gaia_loginform');
        console.log("Check if can log in a page.evaluate");
        form.submit();
      });
    setTimeout( function () {
      page.render('/Users/jMac-NEW/Documents/FILEMAKER OCLC/login_test15_brkpoint5.png');
      var i = 5,
        top,
        queryFn = function() {
          return document.body.scrollHeight;
        };
      setInterval(function() {
        var filename = '/Users/jMac-NEW/Documents/FILEMAKER OCLC/login_test15_brkpoint' + (++i) + '.png';
        console.log('Writing ' + filename + '...');
        page.render(filename);
        top = page.evaluate(queryFn);

        console.log('[' + i + '] top = ' + top);
        page.scrollPosition = { top: top + 1, left: 0 };

        if (i >= 10) {
          phantom.exit();
        }
        }, 3000);
    }, 8000);

}, 8000 );

}); //
我有问题。(请注意,在我的代码中,变量“webpage”替换为“page”)

我的输出:

Writing /Users/jMac-NEW/Documents/FILEMAKER OCLC/login_test15_brkpoint6.png...
[6] top = 1080
Writing /Users/jMac-NEW/Documents/FILEMAKER OCLC/login_test15_brkpoint7.png...
[7] top = 1080
Writing /Users/jMac-NEW/Documents/FILEMAKER OCLC/login_test15_brkpoint8.png...
[8] top = 1080
我只能在我的目录中找到/Users/jMac NEW/Documents/FILEMAKER OCLC/login_test15_brkpoint6.png


为什么,我如何解决这个问题?

您的代码版本不完整,请更新问题。按要求完成