首页 > 解决方案 > Puppeteer 无法点击 gmail 中的 div

问题描述

我正在尝试在这里单击 gmail 上的 3 个点: 1

然后点击“全部标记为已读”:2

我点击三个点很好。

但是,我无法将所有标记都单击为已读。

当我通过以下方式检查元素时,我可以选择它:div[class="J-M aX0 aYO jQjAxd"] > div[class="SK AX"] > div[class="J-N"]:nth-child(1)

但是我不能点击它

我努力了:

前面的部分很好(使用幽灵光标),它点击了 3 个点。但以下不起作用

            await page.waitFor(1500)

            var selector = 'div[class="J-M aX0 aYO jQjAxd"] > div[class="SK AX"] > div[class="J-N"]:nth-child(1)'
            await page.waitForSelector(selector);
            await page.click(selector);

欢迎任何建议。如果我需要添加更多细节,请告诉我。

标签: javascriptpuppeteer

解决方案


不确定您要做什么,但是通过 puppeteer 阅读/编写电子邮件比使用 Gmail 公共 API 慢得多:https ://developers.google.com/gmail/api 。使用 API 将确保您的代码始终如一地运行,并且不会在下次谷歌更新其 HTML 中的一些杂项 UI 元素时中断。


推荐阅读