借助Puppeteer,我知道如何使用评估来具有诸如parentNode
或previousSibling
之类的某些属性:
let id = await page.evaluate(() => {
let wantedHref = $('li a').filter(
function (index) {
return $(this).text().includes("Text that I Want");
})[0];
//get parentNode
let id = wantedHref.parentNode.parentNode.parentNode.id;
//get previousSibling
let expandIcon = wantedLink.parentNode.parentNode.previousSibling;
expandIcon.click();
return id;
});
我想知道如何在不使用评估的情况下检索这些类型的属性。
能帮我吗?
答案 0 :(得分:1)
您可以使用elementHandle.getProperty()
获得当前parentNode
的ElementHandle
属性:
const current_element = await page.$('#example');
const parent_node = await current_element.getProperty('parentNode');
await parent_node.click();