繁体   English   中英

Puppeteer:使用内置 firefox 从 2.1 更新到 3.1 后无法访问 iframe 元素

[英]Puppeteer: Can't access iframe elements after update from 2.1 to 3.1 with built-in firefox

我最近将我的 puppeteer 版本从 2.1 更新到了 3.1。 我在以前的版本上使用了 pupeteer-firefox。 现在由于 pupeteer 3.1 内置了 firefox,我正在使用它。 但这只是 pupeteer 的一个实验性功能。

此代码在以前的版本中正常工作。

        const elementHandle = await page.$("iframe[src^=\"https://docs.google.com/picker\"] [id=\":7\"]")
        await elementHandle.click()

重现步骤

现在将打开 iframe。 我需要单击 iframe 中id=":7"的元素并输入图像 url。 有人可以帮我吗?

这是puppeteer的firefox官方测试结果。

https://hg.mozilla.org/mozilla-central/file/tip/remote/puppeteer-expected.json

针对iframe的每个测试都是FAILSKIP

并且谷歌不会在 pupeteer 中提供对 firefox 的支持。

所以我得出的结论是,使用 pupetteer 访问iframe是不可能的,尤其是在跨站点脚本被禁止的情况下。

我已经放弃了 puppeteer 并开始使用微软的剧作家。 一切都很顺利。

请注意,Google 并未致力于 Firefox 中的 Puppeteer 支持。 正如您自己所说,Firefox 支持目前处于实验阶段。 也就是说,我们正在努力为各种功能和 API 添加更好的支持,但这不是一周内可以完成的任务。

关于你的问题,我可以说我最近为很多 API 添加了 iframe 支持,现在 Firefox 79 中都提供了这些支持。

另请注意,Playwright 正在使用基于最近的 Firefox 测试版的经过修改的非官方 Firefox 构建。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM