华为官方商城手机自动抢购脚本:自动抢Mate9/Mate9 Pro
2022年9月更新,本文内容早已失效,内容仅供研究。
注意:本脚本不会计划长期维护,所以不保证时效!
boom7和重复id的iphone7让华为玩了一把弯道超车,可堂堂一世界500强企业居然玩起了低级地耍猴把戏 - 饥渴营销,这真的好么?
已购入一加3T,把脚本放出来给需要的人用吧。
本脚本要封装成Chrome扩展程序,自行建立文件并添加至Chrome的扩展,核心文件都有了,你只需要找两个png图标文件替换一下就可以了。
主脚本main.js:
如何查找参数ID?
Chrome F12模式下右键某颜色或ROM配置,点击检查找到父节点li,就可以看到ec.selectGroupTagWithSku(1,8238),这个后面的四位数就是ID
setInterval(function () {
//------------------------以下是订单配置信息---------------------------//
//华为的小机灵:每天次抢购活动会换参数的ID,所以颜色及内存参数非固定,请根据当日实际情况修改
//配置颜色:苍穹灰=>7902, 月光银=>7904, 摩卡金=>7906, 香槟金=>7908, 陶瓷白=>7910, 黑色=>7912
var $colorId = 7912;
//配置内存:4+32=>7914, 4+64=>7916, 6+128=>7918
var $ramId = 7916;
//设置地址: 默认一条地址就是0,多条按照顺序索引填写:0, 1, 2 分别对应第1, 2, 3条地址
var $addressId = 0;
//开票信息
var $invoiceId = 2; //发票类型: 1、电子发票;2、纸质发票
var $invoiceText = "公司发票抬头"; //发票抬头
//------------------------以下是脚本执行信息---------------------------//
var $readyBtn = document.getElementsByClassName("honor-btn-ready")[0];
if($readyBtn) window.location.reload();
var $returnBtn = document.getElementById("back_to_activity_url");
if($returnBtn) $returnBtn.click();
//选择颜色
var $color = document.getElementById("skuGroupTag-" + $colorId);
if($color) $color.click();
if(!$color.hasAttribute("onclick"))
{
window.location.reload();
return false;
}
//选择内存
var $ram = document.getElementById("skuGroupTag-" + $ramId);
if($ram) $ram.click();
//立即申购
if($color && $ram && document.getElementById("msg_wait").classList.contains("hide"))
{
if($color.hasAttribute("onclick") && $ram.hasAttribute("onclick"))
{
//function: ec.buy(this); //return false;
document.getElementsByClassName("honor-btn-go")[0].click();
}
}
//订单确认
var $orderBtn = document.getElementById("submit_order_button");
//ec.order.chooseComponent.gotoCheckOrder();
if(document.getElementById("footerComponentCount") && $orderBtn) document.getElementById("submit_order_button").click();
//设置地址
var $addressList = document.getElementById("addressList");
//设置发票信息并提交订单
var $invoiceArea = document.getElementById("e_invoice_area");
var $submitBtn = document.getElementById("submit_order_button");
if($addressList && $invoiceArea && $submitBtn && document.getElementById("box-joining").classList.contains("hide"))
{
//functions
//ec.order.checkOrder.selectAddress($addressId);
//ec.order.checkOrder.selectInvoice($invoiceId);
document.getElementById("addr_radio_" + $addressId).click();
if($invoiceId == 1)
{
document.getElementById("e_invoice_check").click();
}
else if($invoiceId == 2)
{
document.getElementById("p_invoice_check").click();
}
if($invoiceText)
{
//电子发票抬头
if($invoiceId == 1)
{
document.getElementById('e_group').click();
//ec.order.checkOrder.setInvoice(50);
document.getElementById("e_invoice_text").value = $invoiceText;
}
//纸质发票抬头
else if($invoiceId == 2)
{
document.getElementById('p_group').click();
//ec.order.checkOrder.setInvoice(2);
document.getElementById("p_invoice_text").value = $invoiceText;
}
}
//functions
//ec.order.checkOrder.submitOrder();
//ec.order.checkOrder.doSubmit();
document.getElementById('submit_order_button').click();
document.getElementById('pop-box-bottom').getElementsByClassName("honor3c-box-btn-go")[0].click();
}
//小伙伴们太热情了
var $toomany = document.getElementById("box-too-many");
if($toomany && !$toomany.classList.contains("hide")) ec.order.checkOrder.doSubmit();
},1000); //这里配置抢购频率,1000 = 1秒,500 = 0.5秒 ...
Chrome 扩展配置文件manifest.json:
{
"name": "华为抢购插件",
"manifest_version": 2,
"version": "1.0",
"description": "恶心的华为搞饥渴营销,所以产生了这么个玩意",
"browser_action": {
"default_icon": "icon.png"
},
"permissions":[
"tabs"
],
"icons" : {
"48" : "48.png",
"128" : "128.png"
},
"content_scripts":[{
"run_at": "document_end",
"matches":["http://*.vmall.com/*"],
"js":["main.js"]
}]
} 脚本安装方法
将上面的文件放置某目录下,然后打开Chrome并在地址栏输入:chrome://extensions/,然后勾上开发者模式,然后点击加载已解压的扩展程序...,找到文件所在目录即可。
使用方法
预先登录华为商城,然后打开至手机抢购页面,然后就干其他事情等着结果吧。