木偶:如何在不使用评估的情况下获取parentNode?

时间:2020-03-02 16:12:23

标签: javascript node.js google-chrome-devtools puppeteer acceptance-testing

借助Puppeteer,我知道如何使用评估来具有诸如parentNodepreviousSibling之类的某些属性:

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;
});

我想知道如何在不使用评估的情况下检索这些类型的属性。

能帮我吗?

1 个答案:

答案 0 :(得分:1)

elementHandle.getProperty('parentNode')

您可以使用elementHandle.getProperty()获得当前parentNodeElementHandle属性:

const current_element = await page.$('#example');
const parent_node = await current_element.getProperty('parentNode');

await parent_node.click();