小計:Shopee批量刪除修復~附腳本

需求

昨天浪的時候,無心之間看到文職人員在一個個刪除違禁商品,大概23個店鋪,每一個店鋪500多個商品,頁面是用Ajax異步加載的,每刪一個就須要等幾秒,粗略估計一下用時:9h左右javascript

而後瞭解了下是什麼狀況,大概知道Shopee在進行版本迭代,不少API失效,這就致使不少經過程序添加的商品,有些信息不完整,雖然能夠上架,可是一段時間內無銷售就會被Shopee給刪除(出如今違禁商品中)css

分析

並且爲了系統穩定性,把前端不少批量操做都禁止掉了,簡單看了下前端源碼,發現~寫的代碼真爛,要是算SEO絕對被刷到末尾,原本準備繼續分析的,發現它只是禁用了按鈕,eg:
html

disabled屬性去除,而後再移除disabled類就能夠了:前端

<button data-v-1e3fe2dc="" disabled="disabled" type="button" class="shopee-button delete-button shopee-button--large disabled">

解決

遂安裝了下Tampermonkey用戶腳本管理器:https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo
java

手寫腳本以下:(很簡單,可是卻省了文職人員大半時間)
jquery

PS:補充說明:Shopee有太多域名(eg:馬來、新加坡、臺灣等等)因此就不寫匹配規則了(include或者match程序員

// ==UserScript==
// @name         shopee delete btn
// @namespace    dotnetcrazy.cnblogs.com
// @version      0.1
// @description  蝦皮刪除按鈕不能用
// @author       dunitian
// @include      *
// @require      https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    $(function(){
        setInterval(function(){
            $(".delete-button").removeClass("disabled");
            $(".delete-button").attr("disabled",false);
        }, 1000);
    });
})();

效果

配合Shopee暴露的頁碼接口能夠批量刪除(原功能只能12個批量刪一次)
web

PS:經測試,size最大值爲50,超過這個數值就失敗(在url後面加參數:page=1&size=50,而後再批量刪除便可)chrome

終了

而後文職感嘆了一句,怪不得如今每一個公司都須要招程序員呢,我都刪了一個上午了,準備天天一天來作這個事情,如今簡單點幾下就搞定了~異步

PS:題外話~技術的目的原本就是爲了提升生活效率,那些重複的事情反覆作,基本上都是能夠技術來解決的

咳,而後一頓飯有了。。。(完)

擴展:V1.1版本

以前爲了追求速度用jq快速實現的,如今稍微改寫下:

// ==UserScript==
// @name         shopee delete btn
// @namespace    dotnetcrazy.cnblogs.com
// @version      0.1
// @description  蝦皮刪除按鈕不能用
// @author       dunitian
// @include      *shopee*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    // shopee每次選中都會重置刪除按鈕狀態
    setInterval(function () {
        var btn = document.querySelector(".delete-button");
        // 只有選擇以後纔會出現按鈕
        if (btn) {
            // 若是包含disabled類就刪除
            if (btn.classList.contains("disabled")) {
                btn.classList.remove("disabled");
            }
            // 若是包含disabled屬性
            if (btn.hasAttribute("disabled")) {
                btn.removeAttribute("disabled");
            }
        }
    }, 1000);
})();
相關文章
相關標籤/搜索