-
Notifications
You must be signed in to change notification settings - Fork 1
/
gettoken.js
80 lines (62 loc) · 2.39 KB
/
gettoken.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
const puppeteer = require('puppeteer');
const dotenv = require('dotenv');
dotenv.config();
const username = process.env.USERNAME;
const password = process.env.PASSWORD;
console.log('starting');
module.exports = async function getToken(){
const browser = await puppeteer.launch({
// executablePath: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
// userDataDir : '/Users/usernamehere/Library/Application Support/Google/Chrome',
headless: false
});
const page = await browser.newPage();
await page.goto('https://developer.microsoft.com/graph/graph-explorer/');
console.log('opened page');
await page.waitForSelector('#ms-signin-button');
console.log('found login button');
await page.screenshot({path: 'example1.png'});
await page.click('#ms-signin-button');
await page.screenshot({path: 'example2.png'});
console.log('clicked login button');
// const pages = await browser.pages();
// const popup = pages[pages.length - 1];
// console.log('got popup');
const login = page;
await login.waitForSelector('#i0116');
console.log('found username box');
await login.click('#i0116');
await login.keyboard.type(username);
// await login.screenshot({path: 'example3.png'});
await login.waitForSelector('#idSIButton9');
await login.click('#idSIButton9');
await login.waitFor(1000);
await login.waitForSelector('#i0118', {visible: true});
console.log('found password box');
await login.click('#i0118');
await login.keyboard.type(password);
await login.click('#idSIButton9');
console.log('submitted');
await login.waitFor(10000);
// await page.waitForSelector('input[value="Yes"]');
// await page.click('input[value="Yes"]');
// console.log('remember please');
await page.waitForSelector('#userDisplayName');
console.log('found username');
await login.waitFor(10000);
// let token;
// page.on('console', msg => {
// if(msg._type === 'log' && msg._text && msg._text.length >2000 ){
// console.log('got token from console');
// token = msg._text;
// }
// });
const token = await page.evaluate('tokenPlease()');
// await login.waitFor(10000);
console.log(token);
console.log('got token');
console.log('closing, done');
await browser.close();
return token;
};
// module.exports();