javascript - 无法使用 tampermonkey 单击表单按钮

标签 javascript jquery tampermonkey

我正在开发一个 tampermonkey/greasemonkey 脚本,该脚本将在加载页面时单击网页上的按钮。这是表单的代码。

<form>
    <input type="hidden" name="xsrf_token" value="497903b8" />
    <input type="hidden" name="do" value="" />
    <input type="hidden" name="code" value="1APdij" />
    <div data-do="entry_insert" class="sidebar__entry-insert">
        Click Here
        <span class="sidebar__entry__points">(3P)</span>
    </div>
    <div class="sidebar__entry-loading is-disabled is-hidden">
        <i class="fa fa-refresh fa-spin"></i>
        Please wait...
    </div>
</form>

这是我尝试用来单击页面上的按钮的一行。当页面加载并执行单行程序时,它不会执行任何操作。我也尝试过submit()。

$('form').off().click();

任何帮助都会很棒。谢谢。

最佳答案

触发点击事件时,以实际按钮为目标,而不是表单。

$('form [data-do="entry_insert"]').click()

如果该表单的 JS 正在监听,则触发该表单的 submit 也可以工作。

非 jQuery 版本:

var target = document.querySelectorAll('form [data-do="entry_insert"]')[0];
var e = new MouseEvent('click', {
   'view': window,
   'bubbles': true,
   'cancelable': true
});
target.dispatchEvent(e);

关于javascript - 无法使用 tampermonkey 单击表单按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30076343/

相关文章:

javascript - 使用 javascript 搜索 2000 多条 xml 记录会锁定浏览器

javascript - 在select上同时注册onchange和onclick时,点击事件被触发两次

javascript - 当鼠标悬停在 IFRAME 上时防止在父页面上滚动

javascript - 每 2 分钟自动单击网站上的一个按钮?

javascript - 如何检查 html 表单输入是否为整数

javascript - 让脚本在没有 .text 的情况下工作

javascript - 使用 JavaScript 或 jQuery 更改 CSS 规则

javascript - 如何将滚动条设置到聊天系统的底部?

javascript - 音频文件未在 tampermonkey 上使用用户脚本播放

Javascript:查找文本(如 ctrl+f)并在找到时返回 bool 值