1

我最近将我的 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。我需要单击id=":7"iframe 内的元素并输入图像 url。有人可以帮我吗?

4

2 回答 2

1

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

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

针对的每个测试iframe都是FAILor SKIP

并且谷歌不会在 pupeteer 中支持 firefox。

因此,我得出的结论是,无法访问iframeusing pupetteer,尤其是在禁止跨站点脚本编写的情况下。

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

于 2020-06-02T05:55:06.553 回答
0

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

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

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

于 2020-08-11T07:41:55.317 回答