记录篇 - 将技术应用到生活中
场景
烟草公司提供了一个网页方便商家网上选烟、支付等等(类似电商网站);可能部分地区还是电话订烟
题外话
还记得小时候只能电话订烟,老妈每周都事先写好想要什么烟,还得在固定的时间一直守着烟草公司的电话,错过了就订不了了。虽说已经2022年了,回想起来还是不由感叹网络带来的方便和改变。
网上订烟也很多年了,以前教我妈订烟的时候还没接触code,所以这么多年来的步骤大概是
- 到目录订单,把每个品种的烟的数量都+1,因为只有改变了数量才会知道这个品种有没有库存
- 输入自己想要的数量,加入购物车
所以以上这两个步骤也是非常的繁琐,假设目录订单里面有300种,那么就需要点击300遍,而且不一定有库存,所以一些没有库存的,加入购物车也没用。
并且现在烟草公司是有分商家的订烟档位的,基本上你能订什么烟都是经理排好的,所以我现在的需求是把能订的全都要了。
自动化操作
现在做前端了,会使用js了,前段时间因为一些原因,订烟的操作交给了我。所以现在看这个问题都是程序员的思维了😂
经过我F12一顿操作,清楚了上面说的两个步骤的关键代码。于是写了两段代码
订烟网站是用
jq写的
-
步骤一
Array.from($(".adda")).forEach((item) => { item.click(); const parent = $(item).parent(); parent.find('input[name="req_qty"]').blur(); });这个操作就是把所有的烟的数量+1,就是触发了输入框右边的
+号;然后触发输入框的失焦事件,他会发请求拿当前这个烟的库存之类的东西 -
步骤二
Array.from($('input[name="req_qty"]')).forEach((item) => { const parent = $(item).parent(); const num = parent.parent().parent().find(".cgt-col-qtl-lmt").text(); $(item).val(num); $(item).blur(); }); submitCart();这一步呢,就是根据步骤一拿到的库存,对应的填到每个输入框中,并触发失焦,他会选上对应有库存的烟,而没有库存的会被过滤掉,最后加入购物车
代码写好了,那要怎么执行呢,要是每次都打开控制台操作的话,还要找代码复制执行,太麻烦了。于是我通过浏览器的书签来操作。收藏书签中的网址是可以执行js代码的
只需要在代码前面加上javascript:
大功告成!
现在我只需进去目录订单,然后点击选择烟的书签,然后等待所有的接口都把对应的库存拿回来后,再点击加入购物车书签;整个订烟就完成了,接下来就在对应的时间提交订单就可以了。
点个赞支持一下吧🙏🏻
blog:gauharchan.github.io/,这是我博客地址,让我们一起在前端道路上持续发胖吧,😁