|
|
@@ -5,7 +5,7 @@ const fs = require('fs');
|
|
|
//need: reply_info, sign
|
|
|
//from url: https://testmis.ssti.net.cn/xswxcs/?reply_info=******&sign=******
|
|
|
const info = [
|
|
|
- ['reply_info', 'sign']
|
|
|
+ ['reply_info', 'sign'],
|
|
|
];
|
|
|
|
|
|
let infoOK = [];
|
|
|
@@ -19,7 +19,7 @@ function getDate() {
|
|
|
|
|
|
async function interval() {
|
|
|
const browser = await puppeteer.launch({
|
|
|
- // headless: false, // 是否隐藏窗口(默认true)
|
|
|
+ headless: false, // 是否隐藏窗口(默认true)
|
|
|
// defaultViewport: {width: 800, height: 600} // 截图大小
|
|
|
});
|
|
|
let lastDay = null; // 记录上一秒的日期
|
|
|
@@ -35,7 +35,8 @@ async function interval() {
|
|
|
// 日期变动,清空数组
|
|
|
infoOK = [];
|
|
|
}
|
|
|
- if ((hour === 0 && min < 30 && sec < 30) || hour >= 16) {
|
|
|
+ console.log(hour, min, sec);
|
|
|
+ if ((hour === 0 && min < 30) ||(hour === 0 && min === 30 && sec <= 30) || hour >= 16) {
|
|
|
return;
|
|
|
}
|
|
|
for (let i = 0, j = info.length; i < j; i++) {
|
|
|
@@ -47,7 +48,7 @@ async function interval() {
|
|
|
console.log(i, e);
|
|
|
setTimeout(function () {
|
|
|
infoOK[i] = false; // 出错,一分钟后重试
|
|
|
- }, 60000);
|
|
|
+ }, 10000);
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
@@ -55,12 +56,21 @@ async function interval() {
|
|
|
}, 1000);
|
|
|
}
|
|
|
|
|
|
+function sleep(time) {
|
|
|
+ return new Promise(function (resolve) {
|
|
|
+ setTimeout(function () {
|
|
|
+ resolve();
|
|
|
+ }, time);
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
async function run(browser, replyInfo, sign) {
|
|
|
return new Promise(async function (resolve, reject) {
|
|
|
const page = await browser.newPage();
|
|
|
try {
|
|
|
await page.goto("https://testmis.ssti.net.cn/xswxcs/?reply_info=" + replyInfo + "&sign=" + sign);
|
|
|
} catch (e) {
|
|
|
+ await page.close();
|
|
|
reject(e);
|
|
|
return;
|
|
|
}
|
|
|
@@ -73,6 +83,7 @@ async function run(browser, replyInfo, sign) {
|
|
|
try {
|
|
|
await page.goto("https://testmis.ssti.net.cn/xswxcs/pages/Epidemic/EpidemicApply.aspx", {waitUntil: 'networkidle2'});
|
|
|
} catch (e) {
|
|
|
+ await page.close();
|
|
|
reject(e);
|
|
|
return;
|
|
|
}
|
|
|
@@ -91,15 +102,28 @@ async function run(browser, replyInfo, sign) {
|
|
|
} catch (e) {
|
|
|
// 捕捉可能的eval错误
|
|
|
}
|
|
|
- const name = await page.$eval("#div2 input", el => el.value);
|
|
|
+ let name;
|
|
|
+ try {
|
|
|
+ name = await page.$eval("#div2 input", el => el.value);
|
|
|
+ } catch (e) {
|
|
|
+ await page.close();
|
|
|
+ reject("Get Name Error");
|
|
|
+ return;
|
|
|
+ }
|
|
|
console.log(name);
|
|
|
- await page.click("#Apply_Epidemic");
|
|
|
+ try {
|
|
|
+ await page.click("#Apply_Epidemic");
|
|
|
+ } catch (e) {
|
|
|
+ await page.close();
|
|
|
+ reject("Submit Error");
|
|
|
+ return;
|
|
|
+ }
|
|
|
try {
|
|
|
await page.screenshot({path: "img/" + name + "-" + getDate() + '.png'});
|
|
|
} catch (e) {
|
|
|
// 捕捉可能的截图错误
|
|
|
}
|
|
|
-
|
|
|
+ await sleep(2000);
|
|
|
await page.close();
|
|
|
resolve();
|
|
|
});
|