昨天浪的時候,無心之間看到文職人員在一個個刪除違禁商品,大概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:題外話~技術的目的原本就是爲了提升生活效率,那些重複的事情反覆作,基本上都是能夠技術來解決的
咳,而後一頓飯有了。。。(完)
以前爲了追求速度用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); })();