国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

好用的 Puppeteer 輔助工具 Puppeteer Recorder

Faremax / 2826人閱讀

摘要:下圖是以點擊排行榜上用戶加關注為栗子錄制的腳本。注意事項目前這個項目還比較簡單,通過分析幾種生成代碼,這樣還是會有比較多的問題。這些問題本身也是開發前分析網頁甚至需要遇到的問題,改成自動腳本仍需注意。以下為部分源碼參考

Puppeteer

Puppeteer 是一個Node庫,它提供了一個高級API來控制DevTools協議上的ChromeChromium,常用于爬蟲、自動化測試等,你在瀏覽器手動完成的大多數事情都可以使用它來完成。

站內有很多文章介紹Puppeteer,此處就不再介紹。

但是

但是無論是爬蟲還是自動化測試,你要寫Puppeteer腳本,首先你得分析網頁,并且講道理,每個網站還都不一樣,這就很尷尬。

Puppeteer Recorder

Puppeteer Recorder 是Chrome擴展程序,可記錄你的瀏覽器交互并生成Puppeteer腳本。

下圖是以segmentfault點擊排行榜上用戶加關注為栗子錄制的腳本。看上去是不是很有規律,寫入cookie再改成for循環,一個自動加關注的腳本就完成了。

注意事項

目前這個項目還比較簡單,通過分析幾種event生成代碼,這樣還是會有比較多的問題。
比如,最后得到selector和點擊前的selector不一致。selectorjs腳本動態生成,需要waitFor去等待等等。
這些問題本身也是開發前分析網頁甚至debug需要遇到的問題,改成自動腳本仍需注意。

以下為部分源碼

 _parseEvents (events) {
    console.debug(`generating code for ${events.length} events`)
    let result = ""
    for (let event of events) {
      const { action, selector, value, href, keyCode } = event
      switch (action) {
        case "keydown":
          result += this._handleKeyDown(selector, value, keyCode)
          break
        case "click":
          result += this._handleClick(selector, href)
          break
        case "goto*":
          result += `  await page.goto("${href}")
`
          break
        case "reload":
          result += `  await page.reload()
`
          break
      }
    }
    return result
  }
  _handleKeyDown (selector, value, keyCode) {
    if (keyCode === 9) return `  await page.type("${selector}", "${value}")
`
    return ""
  }
參考

Puppeteer
Puppeteer Recorder

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/108363.html

相關文章

  • 使用Node.js爬取任意網頁資源并輸出高質量PDF文件到本地~

    摘要:上面只爬取了京東首頁的圖片內容,假設我的需求進一步擴大,需要爬取京東首頁中的所有標簽對應的跳轉網頁中的所有的文字內容,最后放到一個數組中。 showImg(https://segmentfault.com/img/bVbtVeV?w=3840&h=2160); 本文適合無論是否有爬蟲以及Node.js基礎的朋友觀看~ 需求: 使用Node.js爬取網頁資源,開箱即用的配置 將爬取到的...

    seasonley 評論0 收藏0
  • 使用Node.js爬取任意網頁資源并輸出高質量PDF文件到本地~

    摘要:上面只爬取了京東首頁的圖片內容,假設我的需求進一步擴大,需要爬取京東首頁中的所有標簽對應的跳轉網頁中的所有的文字內容,最后放到一個數組中。 showImg(https://segmentfault.com/img/bVbtVeV?w=3840&h=2160); 本文適合無論是否有爬蟲以及Node.js基礎的朋友觀看~ 需求: 使用Node.js爬取網頁資源,開箱即用的配置 將爬取到的...

    xiaoxiaozi 評論0 收藏0
  • 使用Node.js爬取任意網頁資源并輸出高質量PDF文件到本地~

    摘要:上面只爬取了京東首頁的圖片內容,假設我的需求進一步擴大,需要爬取京東首頁中的所有標簽對應的跳轉網頁中的所有的文字內容,最后放到一個數組中。 showImg(https://segmentfault.com/img/bVbtVeV?w=3840&h=2160); 本文適合無論是否有爬蟲以及Node.js基礎的朋友觀看~ 需求: 使用Node.js爬取網頁資源,開箱即用的配置 將爬取到的...

    wangym 評論0 收藏0
  • Puppeteer入門教程和實踐

    摘要:通過啟動時的命令行參數僅能實現簡易的啟動時初始化操作。是谷歌官方出品的一個通過協議控制的庫。使用和例子類似其他框架,通過操作實例來操作瀏覽器作出相應的反應。簡單例子的入門和實踐求贊,另外歡迎訪問我的博客 出現的背景 Chrome59(linux、macos)、 Chrome60(windows)之后,Chrome自帶headless(無界面)模式很方便做自動化測試或者爬蟲。但是如何和h...

    mindwind 評論0 收藏0

發表評論

0條評論

Faremax

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<