Greasy Fork

砍Temu999刀(一键拒绝降价)

Temu网页端一键拒绝所有降价,是兄弟就来砍我

目前为 2024-04-26 提交的版本。查看 最新版本

// ==UserScript==
// @name         砍Temu999刀(一键拒绝降价)
// @namespace    http://tampermonkey.net/
// @version      3.1
// @description  Temu网页端一键拒绝所有降价,是兄弟就来砍我 
// @author       menkeng
// @license      GPLv3
// @run-at       context-menu
// @match        https://kuajing.pinduoduo.com/*
// ==/UserScript==
//脚本定制Q:605011383
//脚本定制Q:605011383
//脚本定制Q:605011383
var check_price_flag = false
window.onload = function () {
    check_price_cut()
}
function check_price_cut() {
    var check_price_time = 0
    check_price_interval = setInterval(() => {
        check_price_time++
        var flexs = document.querySelectorAll("div.MDL_header_5-109-0")
        flexs.forEach(function (pop) {
            if (pop.innerText == "商品降价提醒") {
                pop = pop.nextElementSibling
                console.log("捕捉到降价提醒")
                if (check_price_time > 10) {
                    clearInterval(check_price_interval)
                }
                check_price_flag = true
                clearInterval(check_price_interval)
                var header = pop.querySelector('[class^="price-adjust-confirm_header"]')
                var item_counts = header.innerText.match(/\d+/)
                console.log("共有" + item_counts + "个商品")
                var reject_btn = document.createElement("div");
                reject_btn.innerText = "拒绝降价";
                reject_btn.id = "reject_btn";
                reject_btn.style.position = "fixed";
                reject_btn.style.top = "20%";
                reject_btn.style.right = "22%";
                reject_btn.style.zIndex = "9999";
                reject_btn.style.display = "flex";
                reject_btn.style.borderRadius = "5px";
                reject_btn.style.backgroundColor = 'rgba(251, 119, 1,1)';
                reject_btn.style.color = 'white';
                reject_btn.style.padding = '10px 15px';
                reject_btn.style.border = 'none';
                reject_btn.style.cursor = 'pointer';
                reject_btn.addEventListener("click", function () {
                    price_cut();
                });
                document.body.appendChild(reject_btn)
                function price_cut() {
                    var item_list = pop.querySelectorAll("tbody > tr.TB_tr_5-109-0")
                    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-109-0 > div")
                        scrollableDiv.scrollTop += 300
                        var scrollEvent = new CustomEvent('scroll')
                        scrollableDiv.dispatchEvent(scrollEvent)
                        time++
                        item_list = pop.querySelectorAll("tbody > tr.TB_tr_5-109-0")
                        item_count = item_list.length
                        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-109-0')) {
                                reject_count++
                                reject.click()
                                reject.style.color = "#ff0000"
                                console.log(reject_count + "个商品已拒绝")
                            }
                            var pp = document.querySelector(".PT_portalMain_5-109-0.PP_popoverMain_5-109-0")
                            if (pp) {
                                var check = pp.querySelector(".CBX_square_5-109-0.CBX_groupDisabled_5-109-0.CBX_hasCheckSquare_5-109-0.CBX_mount_5-109-0")
                                var accept = pp.querySelector(".BTN_outerWrapper_5-109-0.BTN_danger_5-109-0.BTN_medium_5-109-0.BTN_outerWrapperBtn_5-109-0")
                                check.click()
                                accept.click()
                                document.querySelector("#reject_btn").remove()
                            }
                        })
                    }

                }

            }
        })
    }, 1000)

}
setTimeout(() => {
    var kill = document.querySelectorAll('span[data-testid="beast-core-badge-count"]')
    kill.forEach(element => {
        element.remove()
    })
}, 2000);