使用JavaScript点击Instagram私信红心按钮无响应如何解决
Instagram私信红心按钮点击触发方案
你写的代码失效主要有两个问题:
- 通用类名
wpO6b被全站多个按钮复用,你直接取该类最后一个元素,很大概率定位不到目标私信页的红心按钮 - Instagram使用React框架开发,直接调用DOM元素的
click()方法,很多时候无法触发框架绑定的合成事件
可用实现代码
// 利用svg的aria-label属性精准定位,不会受其他同类名按钮干扰 const targetSvg = document.querySelector('svg[aria-label="Like"]'); if (targetSvg) { // 向上回溯拿到button节点 const heartBtn = targetSvg.closest('button'); // 构造原生鼠标事件触发点击 const clickEvent = new MouseEvent('click', { bubbles: true, cancelable: true, view: window }); heartBtn.dispatchEvent(clickEvent); }
补充说明
- 运行前可以先在浏览器控制台执行
document.querySelector('svg[aria-label="Like"]'),确认返回的是你要操作的红心按钮对应的svg元素 - 如果是要触发取消点赞操作,把选择器里的
Like替换成Unlike即可 - Instagram前端结构会不定期迭代,要是后续失效可以重新核对svg的aria-label属性值是否有修改
内容的提问来源于stack exchange,提问作者3jx
相关产品推荐
相关产品推荐

