繁体   English   中英

木偶-最佳标准做法

[英]Puppeteer - best standard practices

在木偶戏中进行常规操作的最佳(或标准)方法是什么?

考虑一下:

<div class="C1">
    <img alt="Bla Bla" class="C2" scrset="lots of stuff here" scr="THIS_IS_WHAT_I_WANT">

我要访问src文本。 最好的方法是什么?

或我在网页上有此情况的另一种情况:

<a class="D1 D2 D3" role="button" </a>

我想检查像上述按钮这样的元素的存在(和不存在)。

您的第一个示例(获取src文本):

 const puppeteer = require('puppeteer') async function run() { const browser = await puppeteer.launch() const page = await browser.newPage() await page.goto(`insertYourURLhere.com`, { timeout: 0, waitUntil: ['domcontentloaded'] }) // getting a handle on the div first const outerDiv = await page.$('div.C1') // proceeding from the selected div const scrAttribut = await outerDiv.$eval('img.C2', el => el.getAttribute('scr')) console.log(scrAttribut) browser.close() } run() 

您的第二个示例(检查元素的存在):

您对外部div使用与上述相同的方法来查找按钮:

page.$(selector)

然后检查返回值。

如果没有元素与选择器匹配,则返回值解析为 null。

来自: 木偶文件

Carsten解决了我提出的问题的第二部分,我非常感谢他!

但是,他的第一部分解决方案无效。

这是我如何使其工作的方式:

const values = await page.evaluate(
        () => [...document.querySelectorAll('.C2')]
        .map(element => element.getAttribute('src'))
    );

暂无
暂无

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

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