上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

请问网页的alert弹窗如何自动点击

[复制链接]

该用户从未签到

2

主题

5

回帖

9

积分

助理工程师

积分
9
发表于 2023-4-4 13:23:46 | 显示全部楼层 | 阅读模式
请问一下,高手,我发现一个网站,过段时间就会弹出一个alert弹窗,需要手动点击确定按钮,才会播放视频,而我发现这个网站是一个框架网站,而且子框架中还嵌有iframe框架,请问如何定时点击alert弹窗关闭,另外,请问下如何切换浏览器控制台显示的这个框架啊?
  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    637

    主题

    5214

    回帖

    6089

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6089

    荣誉开发者管理员油中2周年生态建设者喜迎中秋

    发表于 2023-4-4 13:34:27 | 显示全部楼层
    alert=()=>true
    直接对调用进行hook
    切换作用域参考https://bbs.tampermonkey.net.cn/thread-274-1-1.html
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

    该用户从未签到

    2

    主题

    5

    回帖

    9

    积分

    助理工程师

    积分
    9
    发表于 2023-4-4 13:41:29 | 显示全部楼层
    李恒道 发表于 2023-4-4 13:34
    alert=()=>true
    直接对调用进行hook
    切换作用域参考https://bbs.tampermonkey.net.cn/thread-274-1-1.html ...

    请问这样写的吗?
    我以前是在这油猴中这样写的,但是一样弹窗跳出来


    // ==/UserScript==

    console.log('监测开始……')
    var i=0;
    setInterval(function () {
            // 跳过20分钟休息的提示,继续学习,60秒刷一次
        console.log('监测中……')
              skip();
        console.log((i++)+new Date());
        }, 60*1000);

    function skip(){
        window.alert = function(s) {
            console.log(s);
        }
    }
    回复

    使用道具 举报

    该用户从未签到

    2

    主题

    5

    回帖

    9

    积分

    助理工程师

    积分
    9
    发表于 2023-4-4 13:42:56 | 显示全部楼层

    微信截图_20230404134147.png

    我以前就写这几行代码,也一样弹出弹窗啊

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    637

    主题

    5214

    回帖

    6089

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6089

    荣誉开发者管理员油中2周年生态建设者喜迎中秋

    发表于 2023-4-4 14:05:21 | 显示全部楼层
    dongfan 发表于 2023-4-4 13:41
    请问这样写的吗?
    我以前是在这油猴中这样写的,但是一样弹窗跳出来

    在对方调用之前劫持才好使
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    637

    主题

    5214

    回帖

    6089

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6089

    荣誉开发者管理员油中2周年生态建设者喜迎中秋

    发表于 2023-4-4 14:07:36 | 显示全部楼层
    dongfan 发表于 2023-4-4 13:42
    [md]![微信截图_20230404134147.png](data/attachment/forum/202304/04/134213o9b66z6o6j4601a1.png)

    我以 ...

    你没理解alert
    alert在浏览器属于模态对话框(Modal Dialogue Box)
    在弹出之后js完全暂停掉了等待响应
    这个时候你写任何代码都是无效的
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

    该用户从未签到

    2

    主题

    5

    回帖

    9

    积分

    助理工程师

    积分
    9
    发表于 2023-4-6 10:51:22 | 显示全部楼层
    李恒道 发表于 2023-4-4 14:07
    你没理解alert
    alert在浏览器属于模态对话框(Modal Dialogue Box)
    在弹出之后js完全暂停掉了等待响应

    对不起,确实没有弄明白啊,你说的,到底该如何写,才能实现自动点击关闭alert弹窗啊?
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    637

    主题

    5214

    回帖

    6089

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6089

    荣誉开发者管理员油中2周年生态建设者喜迎中秋

    发表于 2023-4-6 11:55:55 | 显示全部楼层
    dongfan 发表于 2023-4-6 10:51
    对不起,确实没有弄明白啊,你说的,到底该如何写,才能实现自动点击关闭alert弹窗啊?
    ...

    不能实现点击关闭alert弹窗
    弹窗在启动的时候已经阻断所有js代码了
    唯一能做的就是在调用alert之前做拦截直接返回
    或者可以用其他语言来控制浏览器做点击
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    1

    回帖

    2

    积分

    助理工程师

    积分
    2
    发表于 2023-4-13 09:35:46 | 显示全部楼层

    感觉可以通过重写 alert 方法来实现

    // ==UserScript==
    // @name         重写 alert
    // @namespace    http://tampermonkey.net/
    // @version      0.1
    // @description  try to take over the world!
    // @author       You
    // @match        https://**/*
    // @run-at       document-start
    // ==/UserScript==
    
    (function() {
      'use strict';
    
      window.alert = function() {
        console.log('alert')
        // do somethin
      }
    })();
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表