Greasy Fork

砍Temu999刀(一键拒绝降价)

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

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

// ==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/*
// ==/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);