// ==UserScript==
// @name 微博-批量删除微博
// @namespace https://www.jwang0614.top/scripts
// @version 0.2.0
// @description 批量删除微博
// @author Olivia Wang
// @match https://weibo.com/*/profile*
// @grant none
// @require http://code.jquery.com/jquery-1.11.1.min.js
// @downloadURL none
// ==/UserScript==
var keepDeleting = true;
$(document).ready(function(){
sleep(1000).then(()=>{
insertUI();
var delete_btn = $("#delete_btn");
delete_btn.click(function(){
if(confirm("确定删除所有微博吗?")) {
keepDeleting = true;
sessionStorage.setItem("keep_deleting", true);
$("#status_label").css("display","block");
deletePost();
}
});
var stop_btn = $("#stop_btn");
stop_btn.click(function(){
keepDeleting = false;
sessionStorage.clear();
$("#status_label").css("display","none");
});
if (sessionStorage.getItem("keep_deleting")) {
keepDeleting = true;
$("#status_label").css("display","block");
deletePost();
}
})
})
function insertUI() {
var $tab_box = $(".WB_tab_a .tab_box");
var $new_tab_box = $('
')
$new_tab_box.insertAfter($tab_box);
}
function sleep(milliseconds){
console.log("sleep");
return new Promise(resolve => setTimeout(function(){console.log("sleep resolve");resolve();}, milliseconds))
}
function deletePost() {
var posts = document.querySelectorAll(".WB_feed_detail");
var total_number = posts.length;
if (total_number != 0 && keepDeleting) {
delete_single_post().then(()=>{
sleep(1000).then(()=>{
deletePost();
})
});
} else {
sleep(3000).then(()=>{
$("#stop_btn").click();
alert("删除完毕");
})
}
}
async function delete_single_post() {
return new Promise(async resolve=>{
var posts = document.querySelectorAll(".WB_feed_detail");
var post = posts[0];
console.log(post);
console.log(posts.length);
var text = post.querySelector(".WB_text");
console.log(text);
var delete_post = post.querySelectorAll(".layer_menu_list li a")[0];
console.log(delete_post);
console.log(post);
console.log("");
await delete_post.click();
var confirm_btn = post.querySelectorAll(".layer_mini_opt .btn a")[0];
console.log(confirm_btn);
console.log(post);
console.log("");
await confirm_btn.click();
resolve();
});
}