在 Puppeteer 中,与基于 ARIA 属性的元素交互时,如 aria-label,正确的做法是结合使用 page.click() 和适当的选择器,而不是 ::-p-aria 伪元素方法
以下是如何使用 aria-label 单击“照片/视频”按钮:
正确做法:
您可以通过 aria-label 属性定位元素,确保您定位到具有 role="button":
的按钮await page.click('[aria-label="Photo/video"][role="button"]');
此选择器将以 aria-label="Photo/video" 和 role="button" 为目标 div,这是您要查找的元素。
如果您尝试单击的元素位于 iframe 内,或者涉及动态元素,您可能需要使用 waitForSelector 或 waitForFunction 等待该元素变得可用,以确保该元素已准备好可供单击:
await page.waitForSelector('[aria-label="Photo/video"][role="button"]');
await page.click('[aria-label="Photo/video"][role="button"]');
让我知道这是否有帮助。