12306 自动查询车票脚本

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)

 

 

此篇文章已被阅读2608 次

Add a Comment

邮箱地址不会被公开。 必填项已用*标注