【问题标题】:Phantomas not render page directly which the page url contains hashmark幻影不直接呈现页面 url 包含 hashmark 的页面
【发布时间】:2015-11-06 07:03:49
【问题描述】:

我正在使用 phantomas 测试网页,但是当我使用包含诸如“http://bookstore2.shuqireader.com/route.php?sq_pg_param=bsbc&ver=151011#!/bid/3379630/”之类的哈希标记的 url 时发现问题。

Phantomas 中这个页面的截图都是空白的,但是单独使用 PhantomJs 可以完美地工作。

我通过“npm install”安装了 Phantomas

phantoms http://bookstore2.shuqireader.com/route.php?sq_pg_param=bsbc&ver=151011#!/bid/3379630/ --screenshot=saveimg.png

saveimg.png 全部为空白

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

page.customHeaders = { 
  "User-Agent": "Mozilla/5.0 (Linux; U; Android 4.0; en-us; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30" 
}; 

page.open('http://bookstore2.shuqireader.com/route.php?   sq_pg_param=bsbc&ver=151011#!/bid/3379630/', function (status) { 
    if(status=="success"){ 
        page.render('saveimg.png'); 
    } 
        phantom.exit(); 
});

phantomJs的方式,saveimg.png是正常的

这是一个错误吗?

【问题讨论】:

  • 您是否尝试在命令行中将 url 用引号括起来?另外,我没有看到普通的 PhantomJS 产生任何有意义的图像,因为 url 中间有几个空格。
  • 哦,对不起,别管那些空格。我试过了,也用了 urlencode,但还是不行
  • 你用过"还是'?两者都试试。
  • "',我将此作为 phantomas 项目的错误报告,请参阅 github.com/macbre/phantomas/issues/576 我会尝试修复它

标签: phantomjs


【解决方案1】:

不是您想要的答案,但通常所有这些 PhantomJs 的 NPM 包装器由于各种原因而糟糕透顶,作者通常只专门处理他们的用例,而这些包无法满足其他需求略有不同的人。

通常它们会因性能原因而失败(如果您可以在每个请求中最大限度地使用 CPU,则没问题),但正如您所见,有时您会遇到作者未编写代码的情况。

您最好将启动的 phantomjs.exe 编写为子进程。另一种选择是使用http://api.PhantomJsCloud.com 的api(披露:我做到了)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-20
    • 1970-01-01
    • 2019-01-28
    • 2019-03-09
    • 2016-02-14
    • 2013-05-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多