Puppeteer:如何在不使用 evaluate 的情况下获取 parentNode?
Puppeteer: How to get parentNode without using evaluate?
有了 Puppeteer,我知道如何使用 evaluate 来获得一些属性,例如 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;
});
我想知道如何在不使用求值的情况下检索这些类型的属性。
你能帮帮我吗?
elementHandle.getProperty('parentNode')
您可以使用 elementHandle.getProperty()
to obtain the parentNode
property of the current ElementHandle
:
const current_element = await page.$('#example');
const parent_node = await current_element.getProperty('parentNode');
await parent_node.click();
有了 Puppeteer,我知道如何使用 evaluate 来获得一些属性,例如 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;
});
我想知道如何在不使用求值的情况下检索这些类型的属性。
你能帮帮我吗?
elementHandle.getProperty('parentNode')
您可以使用 elementHandle.getProperty()
to obtain the parentNode
property of the current ElementHandle
:
const current_element = await page.$('#example');
const parent_node = await current_element.getProperty('parentNode');
await parent_node.click();