Skip to content

Commit

Permalink
feat: 將selenium檢查簽核系統的方法分為立即執行及排程版本
Browse files Browse the repository at this point in the history
fix: 修正ddlSystype(選擇身分為學生)等待時間過長的問題
  • Loading branch information
Chinlinlee committed Sep 1, 2021
1 parent 3f475ee commit eec4b7b
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 8 deletions.
14 changes: 6 additions & 8 deletions models/NTUNHS/checkSignOffLessTake.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ async function main () {
opt.addArguments(`--remote-debugging-port=${debugPort}`);
opt.addArguments('--no-sandbox');
opt.addArguments('--disable-dev-shm-usage');
//opt.addArguments('--headless');
opt.addArguments('--headless');
opt.addArguments('--disable-gpu');
opt.set('unhandledPromptBehavior' , 'accept');
let driver = await new webdriver.Builder().forBrowser('chrome').setChromeOptions(opt).build();
Expand All @@ -26,7 +26,7 @@ async function main () {
await driver.executeScript(`$("#btnLogin").click()`);
await driver.sleep(1000);
try {
await driver.wait(webdriver.until.elementLocated(webdriver.By.id("ddlSystype")));
await driver.wait(webdriver.until.elementLocated(webdriver.By.id("ddlSystype")), 2500);
//await driver.executeScript(`$("#ctl00_loginModule1_hidSystype").val("student").change();`);
await driver.executeScript(`$("#ddlSystype").val("student").change();`);
await driver.executeScript(`$("#btnLogin").click()`);
Expand All @@ -39,15 +39,13 @@ async function main () {
let alert = await driver.switchTo().alert();
//Press the OK button
await alert.accept();
} catch (e) {
}
} catch (e) {}
await driver.wait(webdriver.until.elementLocated({ id : 'ContentPlaceHolderQuery_QueryFrame'}) , 15000);
let queryFrame = await driver.findElement({id : 'ContentPlaceHolderQuery_QueryFrame'});
await driver.switchTo().frame(queryFrame);
/*await driver.executeScript(`$("#ddlWFName").val("修課-少修申請").change();`);*/
let $ = cheerio.load(await driver.getPageSource());
let optionLen = $("#ddlWFName option").length;
console.log(optionLen);
for (let i = 0; i < optionLen ; i++) {
let element = $("#ddlWFName option").eq(i);
let eText = $(element).text().trim();
Expand All @@ -65,6 +63,6 @@ async function main () {



let scheduleCheckSignOffLessTake = schedule.scheduleJob({rule :'0 30 17 * * *'} , async function () {
await main();
})
module.exports = {
checkSignOffLessTake: main
}
5 changes: 5 additions & 0 deletions models/NTUNHS/checkSignOffLessTakeRunImmediately.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
let { checkSignOffLessTake } = require('./checkSignOffLessTake');

(async ()=> {
await checkSignOffLessTake();
})();
5 changes: 5 additions & 0 deletions models/NTUNHS/checkSignOffLessTakeSchedule.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
let { checkSignOffLessTake } = require('./checkSignOffLessTake');

let scheduleCheckSignOffLessTake = schedule.scheduleJob({rule :'0 30 17 * * *'} , async function () {
await checkSignOffLessTake();
});

0 comments on commit eec4b7b

Please sign in to comment.