Puppeteer NodeJS 如何按类获取元素值?

问题描述 投票:0回答:1

我想使用下面的类获取“data id”的值并将它们放入数组中。

<div data-id="111" class="tr svelte-1q11k9a" style="z-index: auto;">
<div data-id="222" class="tr svelte-1q11k9a" style="z-index: auto;">
<div data-id="333" class="tr svelte-1q11k9a" style="z-index: auto;">

我已经尝试过,但它返回“未定义”。

const ex = await page.$$eval("div[class='tr svelte-1q11k9a']", ({ data-id }) => data-id);
    console.log(ex)
javascript node.js puppeteer
1个回答
0
投票

问题在于您如何尝试提取

data-id
属性。解构语法
{ data-id }
无效,因为带有连字符的属性名称不能在 JavaScript 对象中直接解构,因为它使用了减号运算符。

尝试下面的代码,但我更希望您可以将该属性命名为

data_id

const ex = await page.$$eval("div.tr.svelte-1q11k9a", (elements) => {
    return elements.map(el => el.getAttribute("data-id"));
});
console.log(ex);
© www.soinside.com 2019 - 2024. All rights reserved.