傀儡eteer iframe contentFrame返回NULL

2022-03-11 00:00:00 puppeteer javascript

我有一个有趣的木偶师问题,我不确定如何解决。

我有一个网页,上面有一个iframe。要获取IFRAME句柄,我执行以下操作:

const iframeHandle = await page.$('iframe')

要获取contentFrame,我只需运行:

const frame = await iframeHandle.contentFrame()

但是,这将返回null

我打印了iframeHandle以确保我获得了正确的元素,并且它确实捕获了正确的IFRAME:

console.dir(iframeHandle)
 _remoteObject: {
    type: 'object',
    subtype: 'node',
    className: 'HTMLIFrameElement',
    description: 'iframe',
    objectId: '{"injectedScriptId":5,"id":6}'
  },

有人知道如何获取IFRAME的内容吗?


解决方案

问题出在浏览器启动选项上。将以下内容添加到";参数(&Q;):

const browser = await puppeteer.launch({
    headless: false,
    args: [
      '--disable-web-security',
      '--disable-features=IsolateOrigins,site-per-process'
    ]
});

相关文章