吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1144|回复: 11
收起左侧

[已解决] JS大佬帮我看看这个DOM删除问题

[复制链接]
zoenbo 发表于 2021-3-15 20:26
本帖最后由 zoenbo 于 2021-3-16 15:13 编辑

[HTML] 纯文本查看 复制代码
<div class="epub-main">
<div id="epub-chapter-01" class="epub-chapter">1234567</div>
<div id="epub-chapter-02" class="epub-chapter">I LOVE PEKING</div>
<div id="epub-chapter-03" class="epub-chapter">HONGKONG</div>
<div id="epub-chapter-04" class="epub-chapter">WHO R U</div>
<div id="epub-chapter-05" class="epub-chapter">FINE 3Q AND U</div>
</div>


页面一直往下拉,<div class="epub-main">里会不断生成新的<div id="epub-chapter-?" class="epub-chapter">新内容</div>,每下拉超过2个<div id="epub-chapter-?" class="epub-chapter"></div>后就会删除前面生成最上面的1个,比如消除了<div id="epub-chapter-01" class="epub-chapter">1234567</div>,以此类推,有没有什么方法阻止JS自动删<div class="epub-main">下边的生成的元素呢?


用油猴插件或者什么插件能实现呢?

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

冰茶荼 发表于 2021-3-16 14:54
本帖最后由 冰茶荼 于 2021-3-16 15:25 编辑

如果不想研究它的代码怎么实现的这个功能,就重写remove removeChild方法,让其不能生效,下面是简单的重写
[Asm] 纯文本查看 复制代码
HTMLDivElement.prototype.remove = () =>{console.log("overwrite remove")}
HTMLDivElement.prototype.removeChild = () =>{console.log("overwrite removeChild")}
//可以加入判断

HTMLDivElement.prototype.remove = (e)=>{
    if (e.className == 'epub-chapter') {
        console.log("overwrite");
        return false;
    } else {
        e.remove = HTMLHtmlElement.prototype.remove;
        e.remove()
    }
}

HTMLDivElement.prototype.removeChild = (e)=>{
    if (e.className == 'epub-chapter') {
        console.log("overwrite");
        return false;
    } else {  
        e.remove(e)   
    }
}




效果如下

微信截图_20210316145427.png

免费评分

参与人数 1吾爱币 +2 热心值 +1 收起 理由
zoenbo + 2 + 1 谢谢@Thanks!

查看全部评分

notproblem 发表于 2021-3-15 20:31
 楼主| zoenbo 发表于 2021-3-15 20:32
notproblem 发表于 2021-3-15 20:31
找到执行删除操作的那段代码,注释掉它!

不是自己的网页,而且目标网页JS全部是混淆了的,反混之后都看不懂的,完全从无下手。
时光书窝 发表于 2021-3-15 20:42
取epub-main的子元素,判断个数,然后删除后面的
 楼主| zoenbo 发表于 2021-3-15 20:49
时光书窝 发表于 2021-3-15 20:42
取epub-main的子元素,判断个数,然后删除后面的

现在就是想阻止它自动删除那些生成了的元素。
ReLoading 发表于 2021-3-15 21:04
1,编写浏览器扩展插件

2,不想写插件,抓包分析协议,自己编写程序抓取想要的数据
 楼主| zoenbo 发表于 2021-3-15 21:15
ReLoading 发表于 2021-3-15 21:04
1,编写浏览器扩展插件

2,不想写插件,抓包分析协议,自己编写程序抓取想要的数据

大佬说的这两个解决方法小弟一个都弄不来,对JS这些东西实在是不会,大佬能否帮我写写呢?
ATWooA 发表于 2021-3-15 21:30
你自己把 dom tree 复制下来,它删了你就加回去
 楼主| zoenbo 发表于 2021-3-15 21:32
ATWooA 发表于 2021-3-15 21:30
你自己把 dom tree 复制下来,它删了你就加回去

这工作量太大了,<div id="epub-chapter-?" class="epub-chapter">总共会生成二三百个,多的则有五六百个,这耗时耗力,既没效率还能让人崩溃~
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 05:37

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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