Toggle navigation
Toggle navigation
This project
Loading...
Sign in
HyeonJun Jeon
/
Extended-Calendar
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
박시진
2022-05-30 21:31:35 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
64861382ec10b6f26ae306b21971993a1ee34516
64861382
1 parent
2fdbf518
[Add]New file for testing on nodejs [Modify]E_Campus.js + peedGet function
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
90 additions
and
9 deletions
src/libs/E_Campus.js
src/libs/E_Campus_login_getPeed.js
src/libs/E_Campus.js
View file @
6486138
...
...
@@ -31,21 +31,54 @@ async function loglogin(id, pw) {
return
[
""
,
""
,
"Incorrect user ID or password."
];
}
else
{
return
[
id
,
pw
,
`I got data { id:"
${
id
}
" pw:"
${
pw
}
" }`
];
// return [id, pw, `I got data { id:"${id}" pw:"${pw}" }`];
return
peedGet
(
page
);
}
}
catch
(
err
){
console
.
log
(
err
)
}
}
//function that get your peed for your Ecampus calendar
async
function
peedGet
(
page
)
{
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
(
1000
);
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
));
return
Promise
.
resolve
(
data
);
}
//function that contact E_Campus
// if your account is correct, value = Promise {
// { name: '캘린더 피드를 보려면 클릭하세요.',
// link: 'https://khcanvas.khu.ac.kr/feeds/calendars/user_~~~.ics'
// }
//}
// if your account is incorrect, value = [ '', '', 'Incorrect user ID or password.' ]
async
function
login
(
id
,
pw
)
{
await
setTimeoutPromise
(
1000
);
try
{
// value has the list ["","","Incorrect~"] or [id, pw, "I got data~"]
const
value
=
await
loglogin
(
id
,
pw
);
console
.
log
(
value
[
2
]
);
}
catch
(
e
)
{
console
.
error
(
e
);
await
setTimeoutPromise
(
1000
);
try
{
// value has the list ["","","Incorrect~"]
const
value
=
await
loglogin
(
id
,
pw
);
console
.
log
(
value
);
}
catch
(
e
)
{
console
.
error
(
e
);
}
}
export
{
login
};
login
(
"2021105253"
,
"qtw@@04271"
);
// export { login };
...
...
src/libs/E_Campus_login_getPeed.js
0 → 100644
View file @
6486138
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"
));
\ No newline at end of file
Please
register
or
login
to post a comment