Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.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_Html_Http_Web Scraping_Phantomjs - Fatal编程技术网

Javascript 无法使用PhantomJS加载页面资源

Javascript 无法使用PhantomJS加载页面资源,javascript,html,http,web-scraping,phantomjs,Javascript,Html,Http,Web Scraping,Phantomjs,我使用PhantomJS获取给定URL的页面内容。 问题是,在某些页面上,PhantomJS无法加载某些资源(js、css…),我得到的错误是: 错误代码5,操作已取消 我可以重现此问题的网页是 我无法获得的资源有: 还有一些人 我正在运行的命令是: phantomjs --debug=true --cookies-file=cookies.txt --ignore-ssl-errors=true --ssl-protocol=tlsv1 fetchpage.js http://www.

我使用PhantomJS获取给定URL的页面内容。 问题是,在某些页面上,PhantomJS无法加载某些资源(js、css…),我得到的错误是:

错误代码5,操作已取消

我可以重现此问题的网页是 我无法获得的资源有:

  • 还有一些人
我正在运行的命令是:

phantomjs --debug=true --cookies-file=cookies.txt --ignore-ssl-errors=true --ssl-protocol=tlsv1 fetchpage.js http://www.lifehacker.com
即使我删除cookies文件之类的选项,忽略ssl错误,ssl协议,结果仍然是一样的

fetchpage.js脚本是:

var webPage = require('webpage');
var system = require('system');
var page = webPage.create();

if (system.args.length === 1) {
  console.log('Usage: fetchpage.js <some URL>');
  phantom.exit(1);
}

var url = system.args[1];

page.open(url, function (status) {

  console.log("STATUS: " + status);

  if (status !== 'success') {
    console.log(
      "Error opening url \"" + page.reason_url
      + "\": " + page.reason
      + "\": " + page
    );
    phantom.exit(1);
  } else {
    var content = page.content;
    console.log(content);
    phantom.exit(1);
  }
});
但一切都没有改变


对于那些在寻找不完全加载到phantomjs上的资源的解决方案的过程中遇到此页面的程序员,我已经没有什么想法了。

。我有一个项目,脚本将暂停/挂起一些资源。它是否会执行是50/50

经过一些挖掘,我发现了以下页面:

其中,为资源设置超时的解决方案正在为我工作:

page.settings.resourceTimeout = 10000;
关于上述问题,我不确定这是否完全恰当,但至少信息现在更容易找到,可以被视为某些问题解决方案的一部分

page.settings.resourceTimeout = 10000;