E_Campus_login_getPeed.js 2.07 KB
const puppeteer  = require("puppeteer");
 function login(id, pw) {
   const crawler = async() => {
    try{
        const browser = await puppeteer.launch({headless: false, args:['--window-size=1920,1080']});
        const page = await browser.newPage();
        let information = {};
        await page.setViewport({
            width:1920,
            height:1080
        })
        await page.goto('https://e-campus.khu.ac.kr/xn-sso/login.php?auto_login=&sso_only=&cvs_lgn=&return_url=https%3A%2F%2Fe-campus.khu.ac.kr%2Fxn-sso%2Fgw-cb.php%3Ffrom%3D%26login_type%3Dstandalone%26return_url%3Dhttps%253A%252F%252Fe-campus.khu.ac.kr%252Flogin%252Fcallback');
        await page.type("#login_user_id", id);
        await page.type("#login_user_password", pw);
        await page.click('#form1 > div > div.login_btn > a > span');
        if(page.url() === 'https://e-campus.khu.ac.kr/xn-sso/gw-cb.php?from=&login_type=standalone&return_url=https%3A%2F%2Fe-campus.khu.ac.kr%2Flogin%2Fcallback'){
            return ["", "", "Incorrect user ID or password."]; 
        }
        else {
            await page.waitForTimeout(5000);
            // await page.goto('https://khcanvas.khu.ac.kr');
            await page.click('#visual > div > div.xn-main-login-container > div:nth-child(2) > div.xn-main-link-wrap.xn-main-lms-link-wrap > a');
            await page.waitForTimeout(500);
            await page.click('#global_nav_calendar_link > div.menu-item-icon-container > svg');
            await page.waitForTimeout(10000);
            await page.click('#calendar-feed > button');
            let data = {};
            let temp =  await page.$('#calendar-feed-box-lower > a');
            data.name = await page.evaluate((data) => {
                return data.textContent;
            }, temp);
            data.link = await page.evaluate((data) => {
                return data.href;
            }, temp);
            
            console.log(Promise.resolve(data));
            
        }
    }catch(err){
        console.log(err)
    }
  }

  crawler();
}

login("lorem", "lorem");
console.log(login("lorem", "lorem"));