-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
48 lines (43 loc) · 987 Bytes
/
index.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
const puppeteer = require("puppeteer");
module.exports = async (url) => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(url);
let elems = [];
// get all p elements
elems = await page.evaluate(() => {
let elemsArr = [];
document.querySelectorAll("p").forEach((e) => {
elemsArr.push(e.innerText);
});
return elemsArr;
});
const jobDesc = elems.join(" ");
let counter = 0;
let flagsFound = [];
let redflags = [
"ninja",
"unicorn",
"fast-paced environment",
"magic",
"work hard, play hard",
"rockstar",
"family",
"wear multiple hats",
"disrupt",
"earning potential",
"possibility of becoming full-time",
"guru",
];
for (flag of redflags) {
if (jobDesc.includes(flag)) {
counter++;
flagsFound.push(flag);
}
}
await browser.close();
return {
flagsFound,
rate: (counter / redflags.length) * 100 + "%",
};
};