使用 javascript 删除某些 Facebook 帖子

问题描述 投票:0回答:2

我对 JavaScript 完全陌生。我正在尝试隐藏某些 Facebook 帖子。我找到了这段代码:

 var posts = document.getElementsByClassName("uiStreamMessage");

 for(var i=0; i<posts.length; i++){
 if(posts[i].innerHTML.indexOf("test") != -1){ posts[i].parentNode.removeChild(posts[i])             };
 }

那么,每个包含字符串“test”的帖子都应该被隐藏,对吗? 这对我不起作用。也许 facebook 改变了它的类名并且“uiStreamMessage”不再正确了?

希望大家能帮助我!请原谅我的英语不好! 谢谢:)

javascript facebook
2个回答
0
投票

我想 Facebook 会不时地改变他们的 DOM 类,所以这可能就是原因。

这对我有用:

var posts = document.getElementsByClassName("userContentWrapper");

for(var i=0; i<posts.length; i++){  
    if(posts[i].innerHTML.indexOf("test") != -1){ 
       var parent = posts[i].parentNode; 
       parent.parentNode.removeChild(parent)             
     };
}

这就是我的 DOM 的样子,我很乐意看看你的 DOM 是否有什么不同。

enter image description here


0
投票

需要几个步骤:

警告:页面上显示的所有项目都将永久取消保存。

  • 如果 Facebook 在控制台中应用任何 JavaScript 命令之前向您发出警告,您可能需要使用
    allow pasting
    并按 Enter 键。
  • 向下滚动以显示所有要取消保存的链接
  • 在控制台中运行此命令以打开每个项目的上下文菜单:
Array.from(document.querySelector('[role=main]').querySelectorAll('[aria-label="More"]')).slice(1).map(e => e.click())
  • 运行此命令以单击每个文件上的“取消保存”:
Array.from(document.querySelectorAll('[role=menuitem]')).map(e => e.click())

警告:页面上显示的所有项目将永久取消保存。

来源:来自 GitHub 的评论

© www.soinside.com 2019 - 2024. All rights reserved.