const attr = await page.$$eval("body > iframe", el => el.map(x => x.getAttribute("style")));

  console.log(attr);

我试图在 #doument 下的第二个 iframe 中提取属性名称。

当我做一个复制选择器时,它给了我选择器body > iframe ,它不允许我提取 iframe 的属性。 我需要 name 属性,无论我使用什么选择器,它都不会让我得到它

[![单击此处查看图像][1]][1]

https://i.stack.imgur.com/Lf2FO.png

#1楼 票数:0

编辑(如果您没有 id,那么您可以使用名称获取它)将您的 iframe 放入这样的变量中:

var MyIframe = document.getElementsByName('iframe_id_here');

然后你像这样在 iframe 中获取东西,因为它会在一个数组中,因为 getelemetsByName 是复数:

MyIframe[0].getElementById('SomeID').style.SomeProperties = 'Some_Value';

应该这样工作。

#2楼 票数:0

我还建议使用 puppeteer 记录器扩展。 例如,您可以在 iFrame 内记录鼠标点击,然后它会为您生成一个脚本,您可以使用该脚本更好地了解如何访问框架的内容。 这在弹出窗口、iFrames 等方面帮助了我很多......

https://chrome.google.com/webstore/detail/puppeteer-recorder/djeegiggegleadkkbgopoonhjimgehda?hl=en

你有没有试过使用类似的东西

let frames = await page.frames()
const frame = frames.find(f => f.url().startsWith('https://www.urlofiframe.com'))

或者只是控制台记录帧变量并查看您可以从那里得到什么?

  ask by user3659679 translate from so

未解决问题?本站智能推荐:

1回复

无法在javascript中使用puppeteer提交表单

我需要在网站上提交职位发布表格。我已成功完成身份验证部分,但登录后我需要提交职位发布表格,我不知道如何提交表格,请帮助我。 你可以找到用户名并传入代码。你可以查看站点的表单 [职位表][1]职位表这是我在表单中输入值时遇到的错误
2回复

使用browserify时无法在puppeteer中找到websocket

我正在尝试使用 browserify 在我的托管网站上运行 puppeteer 脚本以将所有节点脚本捆绑在一起。 我试过了 我不知道从这里去哪里。 这是我的 index.js 文件: 这是使用 puppeteer 的文件 safeBackend.js: 我正在使用静态服务器运行我的前端 html 页
2回复

如何使用Puppeteer登录Google?

我正在使用Puppeteer,并且正在尝试登录我的Gmail帐户 网址: https : //accounts.google.com/ServiceLogin/identifier?service=mail&passive=true&rm=false&continue
1回复

如何让puppeteer加载网站更快?

所以我和 puppeteer 一起工作来自动化东西并且它工作正常,但是当我加载网站时,它比我的普通网站需要更多的时间来加载,我尝试使用它做缓存 它适用于 example.com 缓存已存储,加载速度更快,但我的目标网站似乎不允许缓存存储 还有其他方法可以加快流程吗?
1回复

使用Puppeteer登录多个帐户

基本上我有一个 puppeteer 设置,它登录到谷歌并更改个人资料图片,然后注销。 使用当前设置,您需要手动编辑脚本中的用户名和密码字段。 我有一个带有 gmail:password 列表的 accounts.txt 文件。 我想知道如何自动执行此过程并登录 txt 文件中的所有帐户并更改个人资料
1回复

如何在puppeteer上登录没有id的页面?

我正在尝试使用 puppeteer 登录 Discord,但页面上没有 ID。 我不知道该怎么办,我尝试使用不同的选择器,但没有用。
1回复

我怎样才能循环直到我用puppeteer点击元素

我试过这个代码const puppeteer = require('puppeteer');// const select = require ('puppeteer-select');let scrape = async () => { const browser = await pu
1回复

使用Puppeteer获取控制台结果(对象)

我在从 devoloper 工具的控制台日志中已存在的站点获取数据时遇到问题。 我是 Puppeteer 的新手,所以我试图获取所有这些控制台日志结果,但它们都有一个字符串类型。 你们能帮我找到一种获取真实对象的方法或一种解析和使用它的方法吗,谢谢