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

廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP