我可以很容易地从一组选择器中获得一些单一的属性,但不能创建某种对象或具有某些“键”和“值”的关联数组。
这适用于 2 个属性
const kefs = await page.$$eval("div[data-event-treeid]", msgs =>
msgs.map(msg => {
return {
name: msg.getAttribute("data-event-treeid"),
textMessage: msg.innerText,
};
})
);
console.log("kefs", kefs);
但我无法得到像
kefs['data-event-treeid']=innerText
这样的东西
const kefs = await page.$$eval('div[data-event-treeid]', (msgs) =>
msgs.map((msg[msgs.getAttribute('data-event-treeid')]) => {
return {
textMessage: msg.innerText
}
})
);
console.log('kefs', kefs);
所以我想得到:
kefs = {"111": "Sometext", "222": "SomeOtherText"}
其中键 111 和 222 是“data-event-treeid”属性的值
谢谢@ggorlen 它对我有用
const kefs = Object.fromEntries(
await page.$$eval("div[data-event-treeid]", msgs =>
msgs.map(msg => [
msg.getAttribute("data-event-treeid"),
msg.innerText,
])
)
);
console.log("kefs", kefs);