如何从元素列表中单击特定元素

时间:2019-12-14 08:55:30

标签: javascript node.js puppeteer webautomation

我有一个代码可以遍历页面上的所有用户,我希望它查找特定用户,然后单击该用户以从该用户中检索其他信息。我该怎么办?

const item_Container = await page.$$(".user");
await page.waitFor(1000)
for (const items of item_Container) {
    const item_Name = await items.$(".user__title");
    const name = await items.$eval(".user__title a", e => e.innerHTML);
    let ans = name.includes(kw);
    console.log(ans);


}

1 个答案:

答案 0 :(得分:0)

找到元素后,可以通过模拟鼠标单击来单击它:

case 'ADD_EXPERIENCE': { 
    return {
        ...state,
        content: {
            ...state.content,
            experiences: [...state.content.experiences, action.newExperience]
        }
    }
}

或HTMLElement.click:

await items.click();

根据我的经验,有时无法模拟鼠标单击(元素被另一个元素覆盖),在这种情况下,await page.evaluate(el => el.click(), items); 派上用场。