【问题标题】:Need to click second of elements with the same selector using Puppeteer需要使用 Puppeteer 单击具有相同选择器的第二个元素
【发布时间】:2020-05-23 05:04:21
【问题描述】:

目标:我有几个复选框,我需要使用 Puppeteer 选择第二个

问题:我尝试通过 page.$$ 和 page.click 返回数组的第二个元素 [1] 获取 ElementHandles,但这失败了。我不是为什么。元素/复选框有一个 data-test="bar" 的 HTML 数据页。

let foo = await page.$$('[data-test="bar"]');
await page.click(foo[1]);

为什么这不起作用?!?

【问题讨论】:

    标签: javascript puppeteer


    【解决方案1】:

    而不是执行

    await page.click(foo[1]);
    

    你可以试试

    await foo[1].click();
    

    如果您想改用page.click - 您应该使用选择器,而不是元素

    【讨论】:

    • 天啊,我刚试过这个(就在你回答之前),它奏效了。不过感谢您的回复。那么,如何将其转换为 page.click 知道我想要返回第二个 elementHandle?
    • @HuckleberryCarignan 我相信它会像await page.click('[data-test="bar"]:nth-child(1)')
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-12
    • 1970-01-01
    • 2022-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多