脚本代码
var stopExecution = false; // 停止脚本执行的标志var countdownInterval = null; //倒计时的定时器置空function autoClickButton() { var buttons = document.querySelectorAll('td.x-btn-mc button.x-btn-text'); //自动识别刷新按钮位置,是在td里面的x-btn-mc且具体按钮位置 if (buttons.length > 0) { console.log('倒计时开始'); var countdown = 30; // 倒计时时间(秒) var countdownInterval = setInterval(function() { countdown--; console.log('倒计时: ' + countdown + '秒'); if (countdown === 0 || stopExecution) { // 增加停止脚本执行的条件 clearInterval(countdownInterval); countdownInterval = null; if (!stopExecution) { buttons.forEach(function(button) { if (button.textContent.trim() === '刷新') { //因为旁边的导出日志按钮也在td.x-btn-mc代码,所以强调需要按钮文字是"刷新" button.click(); } }); console.log('按钮点击完成'); } else { console.log('脚本执行已停止'); } } }, 1000); } else { console.error("找不到符合条件的按钮"); }}window.addEventListener('load',function() { autoClickButton();});//设置局部变量来进行倒计时循环,因为设置全局的话,当使用stop()停止时,全局循环会导致脚本还在执行(循环显示倒计时)var autoClickInterval = setInterval(function() {autoClickButton();}, 30000);function stop() { stopExecution = true; clearInterval(autoClickInterval);}function start() { stopExecution = false; autoClickButton(); autoClickInterval = setInterval(autoClickButton, 30000);}
使用方法
先手动筛选安全日志,点击查询
按F12控制台,把代码添加上去,按回车,需等待30秒后会进入倒计时阶段
倒计时为0后,自动点击刷新按钮,显示刷新成功
需要停止脚本运行时,输入stop()回车
需要继续运行脚本,输入start()回车,将会继续进行倒计时
原文始发于微信公众号(暗魂攻防实验室):【安全小工具】sxf防火墙安全日志自动刷新js脚本
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论