相关疑难解决方法(0)

phantomjs不等待"完整"页面加载

我正在使用PhantomJS v1.4.1来加载一些网页.我没有访问他们的服务器端,我只是获得指向他们的链接.我正在使用Phantom的过时版本,因为我需要在该网页上支持Adobe Flash.

问题是许多网站正在加载他们的次要内容异步,这就是为什么Phantom的onLoadFinished回调(HTML中的onLoad的模拟)在没有任何东西仍然加载时过早发生的原因.任何人都可以建议我如何等待网页的完整加载,例如,包含广告等所有动态内容的屏幕截图?

javascript events phantomjs

136
推荐指数
8
解决办法
14万
查看次数

在单个脚本中使用多个page.open

我的目标是使用以下方法执行PhantomJS:

// adding $op and $er for debugging purposes
exec('phantomjs script.js', $op, $er);
print_r($op);
echo $er;
Run Code Online (Sandbox Code Playgroud)

然后在内部script.js,我计划使用多个page.open()来捕获不同页面的屏幕截图,例如:

var url = 'some dynamic url goes here';
page = require('webpage').create();
page.open(url, function (status) {
    console.log('opening page 1');  
    page.render('./slide1.png');            
});

page = require('webpage').create();
page.open(url, function (status) {
    console.log('opening page 2');  
    page.render('./slide2.png');        
});

page = require('webpage').create();
page.open(url, function (status) {
    console.log('opening page 3');  
    page.render('./slide3.png');        
    phantom.exit(); //<-- Exiting phantomJS only after opening all 3 pages
});
Run Code Online (Sandbox Code Playgroud)

在运行时exec,我在页面上得到以下输出:

Array ( …
Run Code Online (Sandbox Code Playgroud)

javascript phantomjs

24
推荐指数
2
解决办法
3万
查看次数

标签 统计

javascript ×2

phantomjs ×2

events ×1