js中常见的获取元素的方法:
1、document.getElementById(“id属性的值”);
2、document.getElementsByTagName(“标签的名字”);
3、document.getElementsByName(“name属性的值”);
4、document.getElementsByClassName(“类样式的名字”);
笔者在写秒杀抢购js脚本过程中遇到一个问题,如今许多网站会将“立即抢购"按钮的id属性、name属性等隐藏起来,如下图例子(某购物网站的源代码中关于抢购按钮部分):
笔者想过利用a元素的class属性来获取a元素,准备利用如下代码来模拟人点击抢购按钮:
document.getElementsByClassName("product-button02 disabled")[0].click();
但是经过查阅资料,当抢购时间刷新,a元素的class属性可能会变化
所以为了在抢购按钮刷新后模拟人工点击抢购按钮,首先获取按钮所在div元素,通过document.firstChild 可以访问第一个子节点
var D=document.getElementById("pro-operation");
var A=D.firstChild;
A.click();
这样,即使抢购时间到了,按钮属性,也可以通过document稳定捕捉按钮,并通过js模拟人点击抢购按钮。
欢迎对抢购脚本感兴趣的小伙伴留言交流。
写得不对的地方也请各位小伙伴提出指正意见。