Puppeteer - 按类名点击按钮?

Exo*_*100 -3 html javascript node.js async-await puppeteer

A. 一致性无处不在;运行 !headless,我看它有时工作,有时不工作(比如输入错误的数据),它真的是 50/50。如何优化我的代码以获得 100% 的可靠性?
更新: 通过实现承诺延迟功能和延迟操作来修复不一致。

如何单击既不是提交类型也没有名称和 ID 的按钮?

<button class="sb-frap" data-e2e="sendGift">Send gift</button>
Run Code Online (Sandbox Code Playgroud)

JS路径:

document.querySelector("#js-content > div > div:nth-child(6) > span > div > div.absolute.bg-white.overflow-auto.content___2_l5Q > div > div > div > div > div.invisible.base___3dWsJ.alwaysRelative___3FHV5 > div > span > div > button")
Run Code Online (Sandbox Code Playgroud)
await Promise.all([
 await page.waitForSelector(".sb-frap"),
 await page.click('button[class=".sb-frap"]'),
  ]);
})();
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!

Exo*_*100 6

解决方案 = 检查元素 -> 右键单击​​ -> 复制 -> 复制选择器

  await Promise.all([
      await page.click( paste selector here )
    ]);
Run Code Online (Sandbox Code Playgroud)