昨天浪的时候,无心之间看到文职人员在一个个删除违禁商品,大概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); })();