12306 自动查询车票脚本
Posted On 2017年1月14日
function click() {
var left = document.getElementById("queryLeftTable") ;
if (left.getElementsByTagName("tr").length > 0 ) document.getElementById("tryPlayer").click();
console.log(left.getElementsByTagName("tr").length);
document.getElementById("query_ticket").click();
console.log("clicked");}
setInterval("click()",15000)
12306 打开进入车票预订页面, 打开开发者模式。
在浏览器开发者工具里的Console里输入以上代码。 回车后,会自行帮你每间隔15000 毫秒查询车票。如果有车票则会播放声音。
因为12306 网站貌似兼容一些浏览器并不是特别好,他自己的自动查询经常会因为查询车票信息时超时,导致自动停止了“自动查询”。 通过以上代码可以自己实现自动查询。
代码优化后,如下代码针对自己想购买的座位票进行查询。
var lastflag = 0;
if(!document.getElementById("avail_ticket").checked){
document.getElementById("avail_ticket").click();
}
function click() {
var left = document.getElementById("queryLeftTable") ;
var ticketsCount = left.getElementsByTagName("tr").length / 2;
console.log("get trains: "+ticketsCount );
if ( left.getElementsByTagName("tr").length > 0 && lastflag == 0 ) {
for (var i=0;i<ticketsCount ;i++ )
{
var secondclass = left.getElementsByTagName("tr")[2*i].getElementsByTagName("td")[4];
if(secondclass.innerText != "--" && secondclass.innerText > 1) {
lastflag = 1;
document.getElementById("tryPlayer").click();
console.log("发现二等座");
}
}
}
if ( left.getElementsByTagName("tr").length == 0 && lastflag == 1 )
{
lastflag = 0;
document.getElementById("tryPlayer").click();
}
document.getElementById("query_ticket").click();
}
setInterval("click()",5000)
此篇文章已被阅读3076 次