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)
此篇文章已被阅读2608 次