首页 > 解决方案 > Puppeteer:框架的内容无法读取 null 的属性

问题描述

我的测试html:

<div id="mainBlock">
    <div  class="underBlock">
        Hello!
    </div>
</div>

我尝试使用这样的类获取 div 的内容underBlock

const puppeteer = require('puppeteer');
(async () => {
    const browser = await puppeteer.launch({
        headless:false,
    });
    const page = await browser.newPage();
    let response =  await page.goto('http://localhost/TestPup/Index.html');
    let block = await page.waitForXPath("//div[contains(@class,'underBlock')]")
    let frame = await block.contentFrame()
    console.log(frame.content())
    await browser.close();
})();

但我得到了错误:

TypeError: Cannot read property 'content' of null

标签: javascriptnode.jspuppeteer

解决方案


据我了解,elementHandle.contentFrame()仅返回元素的框架iframe,并且您有一个包含在主框架中的常规div,即在page, 和内部没有框架。


推荐阅读