gpt4 book ai didi

javascript - 如何模拟鼠标点击没有 href 的 标签?

转载 作者:行者123 更新时间:2023-11-29 15:40:20 29 4
gpt4 key购买 nike

我想使用用户脚本在页面加载时自动点击按钮。
目标页面的 HTML(我无法控制)如下所示:

<a id="signInBtn" alog-alias="qb-signin-btn" class="signInBefore btn btn-24-white grid" data-disabled="false" hidefocus="hidefocus">
<em><b>CheckIn</b></em>
</a>

这是一个没有href 属性的奇怪链接。我正在尝试使用此代码:

var btn = $("a#signInBtn");
btn.trigger("click");

但是 Chrome 的控制台给了我这个:

Error in event handler for (unknown):
Error: Syntax error, unrecognized expression: a[href^=/i?]

我的用户脚本如何点击这个按钮?

最佳答案

jQuery .trigger() 主要只适用于 jQuery 设置的事件。而且,在这种情况下,必须使用目标页面的 jQuery 实例调用它,而不是用户脚本的实例。 (此外,您的脚本如何使用 jQuery?错误的方法可能会破坏页面、脚本或两者。)

可能需要其他事件和/或 AJAX 来应对,我们无法从您的问题中判断出来。参见 Choosing and activating the right controls on an AJAX-driven site .

轮询节点和触发鼠标事件几乎适用于所有情况。这是让您入门的完整用户脚本:

// ==UserScript==
// @name _Auto-click the sign-in link
// @include http://YOUR_SERVER.COM/YOUR_PATH/*
// @grant GM_addStyle
// ==/UserScript==

var signInTimer = setInterval ( function() {
var signInBtn = document.querySelector ("#signInBtn");
if (signInBtn) {
clearInterval (signInTimer);

var clickEvent = document.createEvent ('MouseEvents');
clickEvent.initEvent ('click', true, true);
signInBtn.dispatchEvent (clickEvent);
}
}
, 200
);

关于javascript - 如何模拟鼠标点击没有 href 的 <a> 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20158979/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com