Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.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
Login 加载网页不完全幻影_Login_Resources_Phantomjs_Loading_Webpage - Fatal编程技术网

Login 加载网页不完全幻影

Login 加载网页不完全幻影,login,resources,phantomjs,loading,webpage,Login,Resources,Phantomjs,Loading,Webpage,我在捕获和加载网页时遇到问题: 缺少用户名和密码字段以及提交按钮。原因可能是什么?谢谢 如您所见,下面列出的代码等待逐个加载每个和所有资源 我没有编写代码,但是它非常优秀,经过了许多人的测试。原件可在此处找到: (所有的功劳都归功于写这篇文章的人。) 延迟加载是好的,但是有什么错误吗?使用page.onError回调来接收它们。你的PhantomJS是什么版本的?我正在使用PhantomJS 2.1.1,错误是:EERROR:ReferenceError:找不到变量:Set TRACE:->:

我在捕获和加载网页时遇到问题:

缺少用户名和密码字段以及提交按钮。原因可能是什么?谢谢

如您所见,下面列出的代码等待逐个加载每个和所有资源

我没有编写代码,但是它非常优秀,经过了许多人的测试。原件可在此处找到: (所有的功劳都归功于写这篇文章的人。)


延迟加载是好的,但是有什么错误吗?使用
page.onError
回调来接收它们。你的PhantomJS是什么版本的?我正在使用PhantomJS 2.1.1,错误是:EERROR:ReferenceError:找不到变量:Set TRACE:->:19->:1(在函数“t”中)->:6->:1(在函数“t”中)->……/js/dest/auth.bundle.js:27->:1(在函数“t”中)->…/js/dest/auth.bundle.js:1ReferenceError:找不到变量:Set是与auth.bundle.js相关的错误,它似乎可以处理身份验证。谢谢。有关SET错误的更多信息:看来phantomjs可能不支持ES6 SET。
    var resourceWait  = 3000,
    maxRenderWait = 30000,
   url = 'https://myaccount.nytimes.com/auth/login'; //'https://twitter.com/#!/nodejs';

   var page          = require('webpage').create(),
   count         = 0,
   forcedRenderTimeout,
   renderTimeout;

   page.viewportSize = { width: 1280, height : 1024 };

   function doRender() {
      page.render('twitter.png');
      phantom.exit();
   }

   page.onResourceRequested = function (req) {
      count += 1;
      console.log('> ' + req.id + ' - ' + req.url);
      clearTimeout(renderTimeout);
   };

   page.onResourceReceived = function (res) {
     if (!res.stage || res.stage === 'end') {
        count -= 1;
        console.log(res.id + ' ' + res.status + ' - ' + res.url);
        if (count === 0) {
           renderTimeout = setTimeout(doRender, resourceWait);
        }
     }
   };

  page.open(url, function (status) {
     if (status !== "success") {
        console.log('Unable to load url');
        phantom.exit();
     } else {
        forcedRenderTimeout = setTimeout(function () {
           console.log(count);
           doRender();
        }, maxRenderWait);
     }
  });