2017-03-18 90 views
0

我試圖訪問的網頁,並與casperjs捕捉,但以.png沒有顯示也沒有最終的HTML DOM的產生(頁完全在Chrome瀏覽器)Casperjs沒有渲染頁面完全

代碼:

var casper = require('casper').create({ 
verbose: true, 
logLevel: 'debug' 
}); 
casper.start("http://m.weibo.cn/status/Er9b7wxsD", function() { 
    this.wait(5000, function() { 
     this.scrollTo(0, 0); 
     this.echo(this.getHTML('html', true)); 
     this.capture('all.png'); 
    }); 

}); 
casper.run(); 

我使用CasperJS 1.1.2版和phantomjs版本2.1.1

任何想法非常讚賞和感謝提前!

+0

運行嘗試使用CasperJS錯誤記錄,以檢查是否tehre是錯誤的:http://docs.casperjs.org/en/latest/ logging.html – Vaviloff

+0

如果您將得到的html粘貼到瀏覽器中,您會看到casperjs真的會在'all.jpg'中向您顯示正確的東西。我試圖改變userAgent和窗口大小,但他們正在使用另一種方法來檢測你沒有使用真正的瀏覽器 –

+0

@GiacomoTecyaPigani :)感謝您的評論。我試圖將核心改爲Slimerjs,casperjs可以渲染網站。我不確定這是Phantomjs的問題還是網站的檢測。 :( – ansvver

回答

2

添加到您的腳本的末尾:

casper.on("page.initialized", function(page) { 
    page.evaluate(function() { 
     delete window.callPhantom; 
     delete window._phantom; 
    }); 
}); 

基本上該網站,如果你正在使用PhantomJS檢查。

由於CasperJS在它上面的(默認),你看到什麼