火车票 节点操作


查找车次

function c(i){console.log(i);};ia=document.getElementsByClassName("number");len=ia.length;ti=0;for(var i=0;i<len;i++){if(ia[i].childNodes[0].nodeValue=="K457"){ti=i;};};c(ti);
车片预订
document.getElementsByClassName("no-br")[10].childNodes[0].click();
合并
function c(i){console.log(i);};ia=document.getElementsByClassName("number");len=ia.length;ti=0;for(var i=0;i<len;i++){if(ia[i].childNodes[0].nodeValue=="K457"){ti=i;};};c(ti); try{document.getElementsByClassName("no-br")[ti].childNodes[0].click();}catch(err){}

window.reload();


document.getElementById("fromStationText").value="长沙";
document.getElementById("toStationText").value="柳州";
document.getElementById("train_date").value="2018-02-10";
#一般第一次显示“查询超时”
document.getElementById("query_ticket").click();
function c(i){console.log(i);};ia=document.getElementsByClassName("number");len=ia.length;ti=0;for(var i=0;i<len;i++){if(ia[i].childNodes[0].nodeValue=="K457"){ti=i;};};c(ti); try{document.getElementsByClassName("no-br")[ti].childNodes[0].click();}catch(err){}

function gen_random_int(max){return Math.ceil(Math.random()*max);};function sleep(numberMillis) { var now = new Date(); var exitTime = now.getTime() + numberMillis; while (true) { now = new Date(); if (now.getTime() > exitTime) return; } };function sleep_max(max){numberMillis=gen_random_int(max);sleep(numberMillis);}

sleep(1000*60*3);
window.reload();

可以预定
document.getElementsByClassName("no-br")[10].childNodes[0].length==undefined

以下  没实现效果

// https://kyfw.12306.cn/otn/leftTicket/init
function c(i) {
console.log(i);
};

function gen_random_int(max) {
return Math.ceil(Math.random() * max);
};

function sleep(numberMillis) {
var now = new Date();
var exitTime = now.getTime() + numberMillis;
while (true) {
now = new Date();
if (now.getTime() > exitTime) return;
}
};

function sleep_max(max) {
numberMillis = gen_random_int(max);
sleep(numberMillis);
}

while (true) {
document.getElementById("fromStationText").value = "长沙";
document.getElementById("toStationText").value = "柳州";
document.getElementById("train_date").value = "2018-02-10";

for (var i = 0; i < 4; i++) {
document.getElementById("query_ticket").click();
sleep(1000 * 60 * 1);
sleep_max(1000 * 60 * 1);
}

ia = document.getElementsByClassName("number");
len = ia.length;
ti = 0;
for (var i = 0; i < len; i++) {
if (ia[i].childNodes[0].nodeValue == "K457") {
ti = i;
}
;
}

c(ti);
if (document.getElementsByClassName("no-br")[ti].childNodes[0].length == undefined) {
try {
document.getElementsByClassName("no-br")[ti].childNodes[0].click();
break;
} catch (err) {
}
} else {
c("暂时无票");
}

sleep(1000 * 60 * 1);
sleep_max(1000 * 60 * 3);
window.location.reload();
}




以下ok

window.setInterval(function () {

document.getElementById("fromStationText").value = "长沙";
document.getElementById("toStationText").value = "柳州";
document.getElementById("train_date").value = "2018-02-10";

for (var i = 0; i < 3; i++) {
document.getElementById("query_ticket").click();
}

ia = document.getElementsByClassName("number");
len = ia.length;
ti = -1;
for (var i = 0; i < len; i++) {
if (ia[i].childNodes[0].nodeValue == "K457") {
ti = i;
}
}
if (ti != -1 && document.getElementsByClassName("no-br")[ti].childNodes[0].length == undefined) {
try {
document.getElementsByClassName("no-br")[ti].childNodes[0].click();
} catch (err) {
}
} else {
console.log("暂时无票");
}
}, 1000 * 30);

添加随机数











window.setInterval(function () {

document.getElementById("fromStationText").value = "长沙";
document.getElementById("toStationText").value = "柳州";
document.getElementById("train_date").value = "2018-02-10";

// for (var i = 0; i < 3; i++) {
document.getElementById("query_ticket").click();
// }

ia = document.getElementsByClassName("number");
len = ia.length;
ti = -1;
for (var i = 0; i < len; i++) {
if (ia[i].childNodes[0].nodeValue == "K457") {
ti = i;
}
}
if (ti != -1 && document.getElementsByClassName("no-br")[ti].childNodes[0].length == undefined) {
try {
document.getElementsByClassName("no-br")[ti].childNodes[0].click();
} catch (err) {
}
} else {
console.log("暂时无票");
}
}, 1000 * 30);

// 全遍历-但是可预定的相对少
window.setInterval(function () {

//#软卧 动卧 硬卧 软座 硬座 无座 其他 备注
// 5 12

document.getElementById("fromStationText").value = "上海";
document.getElementById("toStationText").value = "西安";
document.getElementById("train_date").value = "2018-02-10";

document.getElementById("query_ticket").click();

num = document.getElementsByClassName("number").length;

for (var i = 0; i < num; i++) {


var referenceObj = document.getElementsByClassName("no-br")[i];
var aRow = referenceObj.parentNode.children;
for (var a = 5; a < 12; a++) {
console.log(i);
console.log(a);
if (Number(aRow[a].outerText) || aRow[a].outerText == "有") {
try {
referenceObj.childNodes[0].click();
console.log("COME-ON!");
} catch (err) {
}
} else {
console.log("该行的无余票或有但为非指定类型的");
}
}
}
}, 1000 * 30);


window.setInterval(function () {


//#软卧 动卧 硬卧 软座 硬座 无座 其他 备注
// 5 12

document.getElementById("fromStationText").value = "上海";
document.getElementById("toStationText").value = "西安";
document.getElementById("train_date").value = "2018-02-10";

document.getElementById("query_ticket").click();
//此处需要等待浏览器处理

//效果不理想
setTimeout(function () {
}, 1000 * 6);

var num = Number(document.getElementById("trainum").outerText);
var referenceObjSet = document.getElementsByClassName("no-br");

for (var i = 0; i < num; i++) {
var referenceObj = referenceObjSet[i];
//可预订
if (referenceObj.childNodes[0].length == undefined) {
console.log(referenceObj);
var aRow = referenceObj.parentNode.children;
for (var a = 5; a < 12; a++) {
console.log(i);
console.log(a);
if (Number(aRow[a].outerText) || aRow[a].outerText == "有") {
try {
referenceObj.childNodes[0].click();
console.log("COME-ON!");
} catch (err) {
}
} else {
console.log("该行的无余票或有但为非指定类型的");
}
}
}
}

}, 1000 * 30);


window.setInterval(function () {

//#软卧 动卧 硬卧 软座 硬座 无座 其他 备注
// 5 12

document.getElementById("fromStationText").value = "上海";
document.getElementById("toStationText").value = "西安";
document.getElementById("train_date").value = "2018-02-10";

document.getElementById("query_ticket").click();
setTimeout(function () {
var num = Number(document.getElementById("trainum").outerText);
var referenceObjSet = document.getElementsByClassName("no-br");
for (var i = 0; i < num; i++) {
var referenceObj = referenceObjSet[i];
//可预订
if (referenceObj.childNodes[0].length == undefined) {
var aRow = referenceObj.parentNode.children;
for (var a = 5; a < 12; a++) {
if (Number(aRow[a].outerText) || aRow[a].outerText == "有") {
try {
referenceObj.childNodes[0].click();
console.log("COME-ON!");
} catch (err) {
}
} else {
console.log("该行的无余票或有但为非指定类型的");
}
}
}
}
}, 1000 * 20);

}, 1000 * 30);

/*
*
*
*
*
document.getElementsByClassName("no-br")[21].parentNode.children[1].outerText
"1
"
Number(document.getElementsByClassName("no-br")[21].parentNode.children[1].outerText)
1
Number(document.getElementsByClassName("no-br")[21].parentNode.children[1].outerText)==1
true
Number(document.getElementsByClassName("no-br")[21].parentNode.children[1].outerText)==2
false
Number(document.getElementsByClassName("no-br")[21].parentNode.children[3].outerText)
NaN
Number(document.getElementsByClassName("no-br")[21].parentNode.children[3].outerText)==NaN
false
if(2){alert(33)}
undefined
if(NaN){alert(33)}
undefined
if(NaN){alert(33)}
undefined



*
*
*
*
* */



末节点
document.getElementsByClassName("ql-editor")[0].lastChild

document.getElementsByClassName("ql-editor")[0].lastChild.innerHTML="今日头条文章"





获取文本值

去除空格

for(i in a ){
console.log(a[i].textContent.replace(/s+/g,""))
}










原文地址:https://www.cnblogs.com/rsapaper/p/8398829.html