<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        HeadlessChrome開發工具庫的實例介紹

        來源:懂視網 責編:小采 時間:2020-11-27 20:16:58
        文檔

        HeadlessChrome開發工具庫的實例介紹

        HeadlessChrome開發工具庫的實例介紹:Headless Chrome指在headless模式下運行谷歌瀏覽器。本質就是不用谷歌運行谷歌!它將由Chromium和Blink渲染引擎提供的所有現代網頁平臺的特征都轉化成了命令行。它有什么用?Headless瀏覽器是一種很好的工具,用于自動化測試和不需要可視化用戶界面的服務器。
        推薦度:
        導讀HeadlessChrome開發工具庫的實例介紹:Headless Chrome指在headless模式下運行谷歌瀏覽器。本質就是不用谷歌運行谷歌!它將由Chromium和Blink渲染引擎提供的所有現代網頁平臺的特征都轉化成了命令行。它有什么用?Headless瀏覽器是一種很好的工具,用于自動化測試和不需要可視化用戶界面的服務器。

        Headless Chrome指在headless模式下運行谷歌瀏覽器。本質就是不用谷歌運行谷歌!它將由Chromium和Blink渲染引擎提供的所有現代網頁平臺的特征都轉化成了命令行。

        它有什么用?

        Headless瀏覽器是一種很好的工具,用于自動化測試和不需要可視化用戶界面的服務器。例如,你想在一個網頁上運行一些測試,從網頁創建一個PDF,或者只是檢查瀏覽器怎樣遞交URL。

        警告:在Mac和Linux上的Chrome 59可以運行Headless模式。支持Windows的會很快提供。

        命令行運行Headless Chrome

        Chrome 安裝(需要帶梯子)

      1. 下載地址

      2. 幾個版本的比較

      3. Chromium 不是Chrome,但Chrome的內容基本來源于Chromium,這個是開源的版本,小時級別的更新

      4. Canary 是試驗版,翻譯過來就是金絲雀,金絲雀對瓦斯等毒氣很敏感,濃度稍高就會停止鳴叫甚至掛掉,金絲雀是瓦斯等毒氣檢測的土辦法,這個場景在《尋龍訣》中黃渤的操作中也能看到。哈哈 扯遠了,這個是daily build 版本。

      5. Dev 是開發版,weekly build版本

      6. Beta 是測試版,monthly build版本

      7. Stable 是穩定版,不定期更新,一般也是一個月左右一次

      8. 更新頻率 Chromium > Chrome Canary > Chrome Dev > Chrome Beta > Chrome Stable

      9. Chrome Dev、Chrome Beta 和 Chrome Stable三者只能同時出現一個

      10. Chromium 、Chrome Canary 和 剩下的任意一個可共存

      11. Windows平臺下載下來的可能只是一個在線安裝的程序,下載離線版在下載頁面的URL里面加參數standalone=1

      12. 命令行快捷配置(Mac環境)

        ~/.bashrc 中加入

        alias chrome="/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome"
        alias chrome-canary="/Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ Canary"

        重新打開終端,我們就可以直接通過 chrome打開穩定版的Chrome,chrome-canary打開試驗版的Chrome了。

        命令行啟動Chrome

      13. 參考官方說明, Headless模式需要Chrome Version >= 59

      14. 使用Chrome打開百度首頁(帶界面),能看到瀏覽器的打開

      15. chrome

      16. 使用無界面模式啟動Chrome打開百度首頁(無界面),但不到瀏覽器界面打開,但任務欄會有圖標

      17. chrome --headless

      18. 使用無界面模式啟動Chrome并將頁面轉為PDF,可以看到output.pdf的輸出

      19. chrome --headless --print-to-pdf

      20. 使用無界面模式啟動Chrome并截圖,可以看到screenshot.png的輸出

      21. chrome --headless --screenshot --window-size=414,736

      22. 使用無界面模式啟動Chrome并打開交互環境

      23. chrome --headless --repl

      24. 使用無界面模式啟動Chrome,并開啟調試Server

      25. chrome --headless --remote-debugging-port=9222

      26. 參考 Chrome命令行參數列表

      27. 命令行操作Headless Chrome

      28. 確保已經啟動Headless Chrome,并啟用了調試Server

      29. chrome --headless --remote-debugging-port=9222

      30. 安裝chrome-remote-interface

      31. npm install chrome-remote-interface -g

      32. 查看命令說明,這里可以進行各種相關操作

      33. "
        $ chrome-remote-interface

        Usage: chrome-remote-interface [options] [command]
        
        Commands:
        
         inspect [options] [<target>] inspect a target (defaults to the first available target)
         list list all the available targets/tabs
         new [<url>] create a new target/tab
         activate <id> activate a target/tab by id
         close <id> close a target/tab by id
         version show the browser version
         protocol [options] show the currently available protocol descriptor
        
        Options:
        
         -h, --help output usage information
         -t, --host <host> HTTP frontend host
         -p, --port <port> HTTP frontend port
         -s, --secure HTTPS/WSS frontend

        "

      34. 打開一個新頁面

      35. chrome-remote-interface new

      36. 查看剛打開的頁面

      37. chrome-remote-interface inspect

      38. 查看當前頁面的URL

      39. >>> Runtime.evaluate({expression:'location.href'})

        可編程方式運行Headless Chrome

        直接通過代碼調用命令行啟動Chrome 調試Server

        可以通過系統調用的方式直接調用上面的命令行執行方式。這種方式在跨平臺的情況下會有一些工作需要做。

        Google出品的Lighthouse 這個網頁質量檢查工具,有一個組件專門做這事,考慮了各種平臺的兼容性問題,源碼參考lighthouse-chromelauncher,這個組件現在已經單獨獨立出來,作為一個單獨的NPM組件chrome-launcher,可以直接使用這個在Node平臺下調用,其他平臺的也可以此為參考。

        const chromeLauncher = require('chrome-launcher');//啟用無界面模式并開啟遠程調試,不同引用版本和方式,調用方式可能有些區別//chromeLauncher.run({chromeLauncher.launch({// port: 9222,chromeFlags: ['--headless']}).then((chrome) => {// 拿到一個調試客戶端實例console.log(chrome)chrome.kill();});

        通過客戶端的封裝組件進行瀏覽器交互

        實現了ChromeDevTools協議的工具庫有很多,chrome-remote-interface是NodeJS的實現。

        Chrome調試Server開啟的是WebSocket交互的相關實現,要用編程的方式實現還需要封裝一些WebSocket命令發送、結果接收等這一系列操作,這些chrome-remote-interface已經幫我們做了,更多實例可以參考chrome-remote-interface的wiki。

        const chromeLauncher = require('chrome-launcher');const chromeRemoteInterface = require('chrome-remote-interface')//啟用無界面模式并開啟遠程調試,不同引用版本和方式,調用方式可能有些區別//chromeLauncher.run({chromeLauncher.launch({port: 9222,chromeFlags: ['--headless']}).then((launcher) => {chromeRemoteInterface.Version({host:'localhost',port:9222}).then(versionInfo => {console.log(versionInfo)});chromeRemoteInterface({host:'localhost',port:9222}).then((chrome) => {//這里調用ChromeDevToolsProtocol定義的接口const {Network,Page} = chrome;Network.requestWillBeSent((params) => {let {request} = params;let {url} = request;console.log(url)});Promise.all([Network.enable(),Page.enable()
         ]).then(() => {Page.navigate({url:'https://www.baidu.com'})});setTimeout(() => {launcher.kill()},5000);})});

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        HeadlessChrome開發工具庫的實例介紹

        HeadlessChrome開發工具庫的實例介紹:Headless Chrome指在headless模式下運行谷歌瀏覽器。本質就是不用谷歌運行谷歌!它將由Chromium和Blink渲染引擎提供的所有現代網頁平臺的特征都轉化成了命令行。它有什么用?Headless瀏覽器是一種很好的工具,用于自動化測試和不需要可視化用戶界面的服務器。
        推薦度:
        標簽: chrome 示例 實例
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲国产天堂久久综合| 久久亚洲AV成人无码软件| 亚洲国产一级在线观看 | 免费观看91视频| 男人的天堂亚洲一区二区三区| 18禁无遮挡无码网站免费| 国产一级淫片a免费播放口之| 亚洲国产高清在线精品一区| 黄网站色视频免费在线观看的a站最新| 亚洲高清视频一视频二视频三| 亚洲国产一区二区三区在线观看| 青青青免费国产在线视频小草| 亚洲综合小说久久另类区| 暖暖在线视频免费视频| 久久精品7亚洲午夜a| 久久久久免费精品国产| 亚洲AV无码乱码国产麻豆| 久久久久久免费一区二区三区| 香蕉蕉亚亚洲aav综合| 国产精品免费AV片在线观看| 亚洲av女电影网| 最近2019免费中文字幕视频三| 国产又大又粗又硬又长免费| 亚洲日韩精品国产一区二区三区| 扒开双腿猛进入爽爽免费视频 | 亚洲精品综合在线影院| 久久不见久久见中文字幕免费| 亚洲娇小性色xxxx| 国产小视频在线免费| 看免费毛片天天看| 精品久久香蕉国产线看观看亚洲| 精品在线免费观看| 亚洲福利一区二区| 蜜桃精品免费久久久久影院| 亚洲AⅤ男人的天堂在线观看| 99re6热视频精品免费观看 | 国产av无码专区亚洲av果冻传媒| 国产区在线免费观看| 亚洲午夜精品一区二区| aa在线免费观看| 亚洲视频免费在线看|