如何在 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()
输出
广告