繁体   English   中英

如何从 iframe(傀儡师)中获取多个标签 href 链接(以数组的形式)?

[英]how do I get multiple a tag href links (in form of an array) from inside an iframe (puppeteer)?

编码很新,这就是为什么这个问题可能很容易回答,但是在扫描互联网 2 天后仍然没有真正的解决方案,我想我只是在这里问。

所以,正如标题所解释的,我在一个网站中有一个 iframe 我想用一个 id 属性(我们称之为iframeid )和这个 iframe 里面的某个地方我有一个带有 ZA2F2ED4F8EBC4BAB4C21A29 属性的 div 容器它divclass ) 包含 - 除了其他元素 - 多个<a>标记。 我的目标是获得一个数组,其中列出了来自这些<a>标记的所有链接,到目前为止,我只是通过研究和一点运气实现了以下目标:

const elementHandle = await page.waitForSelector('iframe#iframeid');
const frame = await elementHandle.contentFrame();
await frame.waitForSelector('div[class=divclass] a');
var x = 2; //a var to determine which a tag I want
const oneA= await frame.$('div[class=entryLayer] a:nth-child(' + x + ')');
const link = await (await oneA.getProperty('href'))._remoteObject.value;
console.log(link);

它的作用是接受一个变量并根据<a>标签提取其链接,但我不知道如何将其放入循环中,除此之外, <a>标签的数量会有所不同,这使得循环让我更难编码。

甚至不可能完全省略循环吗? 我发现了类似的 stackoverflow 问题,但例如一个只有一个<a>标记,这似乎完全改变了代码。

最后,我只想要一个我作为新手可以理解但同时又相当紧凑的工作代码。 感谢您提前提供帮助!

据我所知,每个 iframe 都可以被视为不同的页面。 这是我用于相同类型任务的参考https://stackoverflow.com/a/54940865/17755263

暂无
暂无

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

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