如何用Violentmonkey自动触发邮件弹窗的「Continue anyway」按钮?
自动点击React弹窗「Continue anyway」按钮的Violentmonkey脚本方案
核心思路
这个弹窗是React渲染的自定义组件,不是原生confirm弹窗,所以重写window.confirm没用;而且弹窗是动态生成的,页面加载时不一定存在,得用DOM监听捕捉元素出现的时机,自动触发点击。
可行脚本代码
把下面的代码复制到Violentmonkey的新脚本里,记得修改@match字段为目标网站域名:
// ==UserScript== // @name Auto Click Continue Anyway // @namespace http://tampermonkey.net/ // @version 0.1 // @description 自动点击确认弹窗里的「Continue anyway」按钮 // @author You // @match https://your-target-website.com/* // 替换成你需要生效的网站地址 // @grant none // ==/UserScript== (function() { 'use strict'; // 查找并点击目标按钮 function clickConfirmButton() { const confirmBtn = document.querySelector('[data-testid="PriceProposalContactConfirmDialog/confirmButton"]'); if (confirmBtn && !confirmBtn.disabled) { confirmBtn.click(); console.log("自动点击了Continue anyway按钮"); } } // 监听DOM变化,弹窗按钮出现时触发点击 const observer = new MutationObserver((mutations) => { mutations.forEach(() => { clickConfirmButton(); }); }); // 监听整个文档的子节点新增/移除 observer.observe(document.body, { childList: true, subtree: true }); // 页面加载后先检查一次,防止弹窗已提前渲染 setTimeout(clickConfirmButton, 500); })();
关键说明
MutationObserver会实时监控DOM变化,确保弹窗动态渲染出来时立刻被捕捉到- 加
setTimeout延迟检查是为了覆盖脚本初始化前弹窗就已出现的极端情况 - 检查按钮
disabled状态,避免点击无效按钮
为什么之前的方法无效
- 重写
window.confirm:这个弹窗是React自定义UI组件,根本没调用原生confirm方法,所以重写没用 - 直接查找元素:弹窗是动态生成的,脚本执行时元素还没渲染到DOM里,自然找不到
内容的提问来源于stack exchange,提问作者Jonas Naucius
相关产品推荐
相关产品推荐

