您可以检查单击某个元素是否起作用?喜欢带您到另一个页面吗?

问题描述 投票:0回答:1

我正在使用操纵up进行测试,我尝试单击一个将带我进入另一个页面的元素。但是,在单击操作之前,元素会加载。

await page.waitFor(element);
await page.click(element);

在这种情况下,点击不执行任何操作。我想知道我是否可以做这样的事情:

await page.waitFor(element);
await page.waitForFunction((selector) => {
    const element = document.querySelector(selector);
    const { clickActionDoesSomething } = element;
    if (clickActionDoesSomething) {
       return true;
    } 
}, selector);
await page.click(element);

我想避免page.waitFor(x毫秒);

javascript click puppeteer
1个回答
0
投票

同时,我找到了解决我问题的方法。我用过:

page.evaluate((selector) => {
  const element = document.querySelector(selector);
  element.click();
}, selector)

似乎在页面上下文中,即使尚未加载element.click()也会触发click动作。希望这也会对其他人有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.