求助页面按钮无法点击
本人js零基础,依葫芦画瓢写签到脚本发现有个按钮无法点击(我禁用了编辑器代码,希望能显示出代码):<a class="but c-blue ml10 pw-1em radius initiate-checkin" href="javascript:;" form-action="user_checkin" ed-text="<i class="fa fa-calendar-check-o"></i>已签到"><i class="fa fa-calendar-check-o"></i>签到</a>
后面相关的:
<script>
$(".initiate-checkin").click(function() {
$(".flip_checkin").click();
$(".flip_checkin").remove();
})
</script>
<span data-class="modal-mini xy_flip_checkin" mobile-bottom="true" data-height="240"
data-remote="https://zxcsol.com/wp-admin/admin-ajax.php?action=Nine_grid_modal"
class="flip_checkin" href="javascript:;" data-toggle="RefreshModal">
</span>
尝试比如直接通过class过滤
document.querySelector('a.initiate-checkin').click();
尝试直接调用点击功能
$(".flip_checkin").click();
或者
document.querySelector(".flip_checkin").click();
再或者通过文字来过滤
var buttons = document.querySelectorAll('a.initiate-checkin');
for (var i = 0; i < buttons.length; i++) {
if (buttons.textContent.trim() === '签到') {
console.log(buttons);
buttons.click(); // 模拟点击该按钮
break; // 找到并点击按钮后跳出循环
}
}
直接click不行,我还试了
buttons.dispatchEvent(new MouseEvent('click'));
通过console.log的输出,我确定是找到按钮了,为啥没有效果呢? ```javascript
// ==UserScript==
// @name New Userscript
// @namespace http://tampermonkey.net/
// @version 2024-02-05
// @descriptiontry to take over the world!
// @author You
// @match https://zxcsol.com/user/
// @icon https://www.google.com/s2/favicons?sz=64&domain=zxcsol.com
// @grant none
// ==/UserScript==
(function () {
'use strict';
// 如果像我这样直接写的话,console.log()会输出元素,但是不会触发 click 事件。
// 我猜你应该也是这么写的。
// console.log(document.querySelector('a.but.c-blue.ml10.pw-1em.radius.checkin-details-link'));
// document.querySelector('a.but.c-blue.ml10.pw-1em.radius.checkin-details-link').click();
// 尝试了两种解决方式,如果点击不到可以自己更改一下选择器哈,早上不小心直接点击签到了,不知道选择器正不正确了。
// 或者更改一下脚本的匹配地址,希望能够帮到你。
// 第一种
window.onload = function () {
console.log('当整个页面,包括样式、图片和其他资源被加载完成时,会触发 window 对象上的 load 事件。');
document.querySelector('a.but.c-blue.ml10.pw-1em.radius.checkin-details-link').click();
};
// 第二种
// setTimeout(function () {
// console.log('延时2秒后执行。');
// document.querySelector('a.but.c-blue.ml10.pw-1em.radius.checkin-details-link').click();
// }, 2000);
})();
``` 请问有地址吗?调试一下才知道问题,光看我看不明白。才疏学浅{:4_98:} Str_i 发表于 2024-2-5 01:19
请问有地址吗?调试一下才知道问题,光看我看不明白。才疏学浅
https://zxcsol.com/user/balance
本帖最后由 juhua1 于 2024-2-5 13:53 编辑
你说的是个人页面的签到按钮吗,我试了可以直接click(),会不会是你脚本执行时间问题
$(function(){
var button = $("a.but.c-blue.ml10.pw-1em.radius.checkin-details-link")[0]
console.log(button)
button.click()
})
页:
[1]