如何在 Puppeteer 中處理框架?


我們可以在 Puppeteer 中處理框架。html 程式碼中的框架由 frames/iframe 標記表示。Puppeteer 可以透過從主頁切換到框架來處理框架。要在框架內使用元素,我們必須首先借助定位符來識別框架。contentFrame 方法用於訪問框架內的元素。

語法

const f = await page.$("frame[name='frame-bottom']")
const m = await f.contentFrame()

我們來看看框架內某個元素的 html 程式碼並獲取其中文字 - BOTTOM。

上圖中突出顯示的標籤名稱是 frame,其 name 屬性的值是 frame-bottom。

示例

程式碼實現

//Puppeteer library
const pt= require('puppeteer')
async function frameHandle(){
   //launch browser in headless mode
   const browser = await pt.launch()
   //browser new page
   const page = await browser.newPage()
   //launch URL
   await page.goto('https://the-internet.herokuapp.com/nested_frames')
   //identify frame
   const f = await page.$("frame[name='frame-bottom']")
   //move to frame
   const x = await f.contentFrame();
   //identify element inside frame
   const n = await x.$("body")
   //get text
   const v = await (await n.getProperty("textContent")).jsonValue()
   console.log(v)
}
frameHandle()

輸出

更新於:2021年11月19日

2 千+ 瀏覽量

開啟你的職業生涯

完成課程並獲得認證

開始
廣告