gpt4 book ai didi

puppeteer - 如何根据 `innerText` 获取 ElementHandle ?

转载 作者:行者123 更新时间:2023-12-01 01:48:57 27 4
gpt4 key购买 nike

我有一个链接列表,想要 click根据链接的名称在其中之一上。我无法使用选择器完成此操作。

使用类似 page.$eval 的东西会很好获取该项目的 ElementHandle 以便我可以点击/单击它。

我能想到的唯一其他方法是在 $eval 内获取 x/y 坐标。然后手动点击点击位置。看起来很乏味。

我根据指导方针在这里发布了这个,但是如果我们应该就此打开 PR,LMK。

最佳答案

您是否考虑过使用 page.$$(selector) 获取所有目标元素,然后使用 page.evaluate() 获取 linkName ,然后检查并单击?

就像是:

const targetLinks = await page.$$('yourLinkSelector');
for(let link of targetLinks){
const linkName = await page.evaluate(el => el.innerHTML, link);
if (linkName === 'myFancyLinkToClick') {
await link.click();
// break if only 1 link click is needed.
break;
}
}

希望对你有效。

关于puppeteer - 如何根据 `innerText` 获取 ElementHandle ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46123431/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com