// ==UserScript== // @name 砍Temu999刀(一键拒绝降价) // @namespace http://tampermonkey.net/ // @version 2.1 // @description Temu网页端一键拒绝所有降价,是兄弟就来砍我 // @author menkeng // @license GPLv3 // @run-at context-menu // @match https://kuajing.pinduoduo.com/* // @downloadURL none // ==/UserScript== //脚本定制Q:605011383 //脚本定制Q:605011383 //脚本定制Q:605011383 function check_price_cut() { var flexs = document.querySelectorAll("div.MDL_header_5-80-0") flexs.forEach(function (pop) { if (pop.innerText == "商品降价提醒") { // 首先获取提示网页提示的数量,再获取商品列表数量 pop = pop.nextElementSibling console.log("捕捉到降价提醒") // 获取提示数量 var header = pop.querySelector('[class^="price-adjust-confirm_header"]') var item_counts = header.innerText.match(/\d+/) console.log("共有" + item_counts + "个商品") // 获取商品列表数量 var item_list = pop.querySelectorAll("tbody > tr.TB_tr_5-80-0") console.log(item_list[item_list.length - 1].innerText) var item_count = item_list.length var reject_count = 0 var time = 0 while (reject_count < item_counts && time < 30) { var scrollableDiv = pop.querySelector(".TB_body_5-80-0 > div") // 滚动到底部 scrollableDiv.scrollTop += 300 var scrollEvent = new CustomEvent('scroll') scrollableDiv.dispatchEvent(scrollEvent) time++ item_list = pop.querySelectorAll("tbody > tr.TB_tr_5-80-0") console.log(item_list[item_list.length - 1].innerText) item_count = item_list.length // console.log("列表共有" + item_count + "个商品") item_list.forEach(function (item) { console.log(time + " \t" + item.innerText.match(/\d+/g)[0]) var reject = item.querySelector("td:last-child > div > label:last-child > div:last-child") // 拒绝按钮 var reject_state = reject.previousElementSibling.querySelector("div").classList if (!reject_state.contains('RD_active_5-80-0')) { reject_count++ reject.click() reject.style.color = "#ff0000" console.log(reject_count + "个商品已拒绝") } var pp = document.querySelector(".PT_portalMain_5-80-0.PP_popoverMain_5-80-0") if (pp) { var check = pp.querySelector(".CBX_square_5-80-0.CBX_groupDisabled_5-80-0.CBX_hasCheckSquare_5-80-0.CBX_mount_5-80-0") var accept = pp.querySelector(".BTN_outerWrapper_5-80-0.BTN_danger_5-80-0.BTN_medium_5-80-0.BTN_outerWrapperBtn_5-80-0") check.click() accept.click() } }) } } }) } check_price_cut() setTimeout(() => { var kill = document.querySelectorAll('span[data-testid="beast-core-badge-count"]') kill.forEach(element => { element.remove() }) }, 2000);