如何在 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()
輸出
廣告