日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

利用phantomjs工具完成网页截图

發布時間:2023/12/29 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用phantomjs工具完成网页截图 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、PhantomJS是什么?

  PhantomJS是一個基于webkit的JavaScript API。它使用QtWebKit作為它核心瀏覽器的功能,使用webkit來編譯解釋執行JavaScript代碼。任何你可以在基于webkit瀏覽器做的事情,它都能做到。它不僅是個隱形的瀏覽器,提供了諸如CSS選擇器、支持Web標準、DOM操作、JSON、HTML5、Canvas、SVG等,同時也提供了處理文件I/O的操作,從而使你可以向操作系統讀寫文件等。PhantomJS的用處可謂非常廣泛,諸如網絡監測、網頁截屏、無需瀏覽器的 Web 測試、頁面訪問自動化等。

2、PhantomJS的安裝

? ? ? 請參考?https://blog.csdn.net/hacker_lees/article/details/76972880

3、PhantomJS的使用?(本文主要講PhantomJS的截圖功能使用)

? ? ?首先聽它的名字就知道這個東西和javascript脫不了關系,需要創建一個js腳本來調用執行它的API,貼圖解釋:

?舉例我要截圖百度首頁,那么在window下需要在dos執行 :

?phantomjs.exe request.js "https://www.baidu.com" "44a63072-4a3b-4829-bc72-a5b9b1dca9fa.png"

兩個參數分別對應上圖的param.url和param.pic,截圖成功保存

4、分享下完成過程中踩到的坑

? ? ?a.Linux(centos)下執行如果報 cannot open shared object file之類的錯誤請用yum安裝服務

? ? ? ? ?yum install libXext libXrender fontconfig libfontconfig.so.1

? ? ?b.Linux下在phantomjs所在目錄執行如果報找不到該命令之類的錯誤,命令前加上./,如:

? ? ? ? ./phantomjs.exe request.js "https://www.baidu.com" "44a63072-4a3b-4829-bc72-a5b9b1dca9fa.png"

? ? ?c.Linux下截好的圖中文字體亂碼不顯示請安裝服務:

? ?yum install bitmap-fonts bitmap-fonts-cjk

? d.如果截圖頁面很長,有的圖片不顯示,八成是因為該圖片需要滾動條下拉觸發加載,有很多解決辦法,我用的是調大瀏覽器視圖并延遲截圖:

? ? ? ? ?page.viewportSize = {width:4800, height:24000};

? ? ? ? ?page.render(param.pic);
?? ??? ??? ??? ??? ?phantom.exit();
?? ??? ??? ??? ?}), 10*1000);

總結

以上是生活随笔為你收集整理的利用phantomjs工具完成网页截图的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。