如何模拟鼠标点击<a>没有href的标记
How to simulate a mouse click on an <a> tag that has no href?
我想使用用户脚本在加载页面时自动单击按钮
目标页面的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的控制台给了我这个:
的事件处理程序出错(未知):
错误:语法错误,无法识别的表达式:a[href^=/i?]
我的用户脚本如何单击此按钮?
jQuery .trigger()
主要只适用于jQuery设置的事件。而且,在这种情况下,必须使用目标页面的jQuery实例来调用它,而不是使用用户脚本的实例。(还有,你的脚本是如何使用jQuery的?错误的方法可能会破坏页面、脚本,或者两者兼而有之。)
可能还需要处理其他事件和/或AJAX,我们无法从您的问题中判断出来。请参阅在AJAX驱动的网站上选择和激活正确的控件。
轮询节点和触发鼠标事件几乎在所有情况下都可以工作。这里有一个完整的用户脚本可以让你开始:
// ==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
);
相关文章:
- 图像可以从源<img src=""/>.TEXT可以在没有javascript的情况下从外部
- Meteor应用程序无法运行-对象#<编译器>没有方法'主机'
- 对象#<XMLHttpRequest>没有方法'完成'
- 有没有一种方法可以检测ios<>使用jquery和触发器操作形成导航按钮
- react router router.HistoryLocation以<noscript>但没有完美的工作
- 为什么<p>没有插入到我的html中
- 是否可以在没有HTTP请求或<输入>
- 为什么我的html页面没有在<ui视图>
- 需要一个与HTML5<音频>.哪些没有't创建或销毁视图
- 未能运行构造函数:TypeError:对象#<对象>没有方法'addPlugin'
- JavaScript没有将结果值设置为<p>'的innerHTML
- 我的代码在<脚本>标记,但没有'不能在外部文件中工作
- 在node.jsexpress应用程序中,req.body没有得到<text区域>价值
- 有没有一种方法可以使用<脚本>标记为您可能使用的<%%>标记
- 使用javascript:在没有阻止html标记(<b>、<p>等)的情况下,阻止脚本的最佳方法
- 对象#<s>没有方法'应用'角度重新加载
- 如果检查了输入,则将类应用于<身体>,没有jQuery
- 将列表拆分为两列.列表没有't具有块,但是需要在最接近的<p>标签
- 未捕获的类型错误:对象#<节点列表>没有方法'addEventListener'
- 有没有任何方法可以将json对象存储在HTML标记的默认/自定义属性中,比如<tr>