Last active
January 15, 2025 20:13
-
-
Save miamarti/97665960eecf440ed53c4d9beffab6ab to your computer and use it in GitHub Desktop.
Linkedin Jobs (vagas)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let list = []; | |
let index = 0 | |
let isFinish = false; | |
let users = document.querySelectorAll('[data-view-name="job-applicant-list-profile-card"] .artdeco-entity-lockup__title'); | |
const finishTxt = document.querySelectorAll('.artdeco-pagination__pages.artdeco-pagination__pages--number li')[document.querySelectorAll('.artdeco-pagination__pages.artdeco-pagination__pages--number li').length-1].querySelector('button').ariaLabel; | |
function sleep(ms) { | |
return new Promise(resolve => setTimeout(resolve, ms)); | |
} | |
function updateUsers() { | |
users = document.querySelectorAll('[data-view-name="job-applicant-list-profile-card"] .artdeco-entity-lockup__title'); | |
} | |
window.addEventListener("beforeunload", function(event) { | |
event.returnValue = "Mensagem de aviso"; | |
}); | |
window.scrollTo(0, document.body.scrollHeight); | |
const execSc = async () => { | |
try { | |
if(index < users.length) { | |
window.scrollTo(0, document.body.scrollHeight); | |
await sleep(200); | |
window.scrollTo(0, document.body.scrollHeight); | |
await sleep(1000); | |
updateUsers(); | |
const user = users[index]; | |
const name = user.innerText; | |
const photo = document.querySelectorAll('[data-view-name="job-applicant-list-profile-card"] img')[index].src; | |
user.click(); | |
window.scrollTo(0, document.body.scrollHeight); | |
await sleep(1500); | |
updateUsers(); | |
document.querySelector('.t-20.pb5').click(); | |
const btn = document.querySelectorAll('.artdeco-dropdown__trigger.artdeco-dropdown__trigger--placement-bottom.ember-view.artdeco-button.artdeco-button--secondary.artdeco-button--muted.artdeco-button--3')[0]; | |
btn.click(); | |
window.scrollTo(0, document.body.scrollHeight); | |
await sleep(2000); | |
updateUsers(); | |
let link = document.querySelectorAll('.artdeco-dropdown__content-inner a')[0].href; | |
let email = document.querySelectorAll('.artdeco-dropdown__content-inner a')[1].querySelectorAll('span')[1].innerText; | |
let fone = document.querySelectorAll('.artdeco-dropdown__content-inner div')[2].querySelectorAll('span')[1].innerText; | |
let pretensao = 0; | |
let fluencia = 0; | |
let experiencia = 0; | |
let nivel = 0; | |
let triagem = []; | |
btn.click(); | |
document.querySelectorAll('.job-posting-shared-screening-question-list__list-item').forEach((tr) => { | |
console.log(tr); | |
const trr = `${tr.querySelectorAll('p')[0].innerText} | ${tr.querySelectorAll('p')[1].innerText} | Resposta: ${tr.querySelectorAll('p')[2].innerText.split('Resposta da pessoa candidata')[1].trim()}`; | |
if(trr.includes("salarial") || trr.includes("pretensão") || trr.includes("Salarial") || trr.includes("PJ")) { | |
pretensao = trr.replace(/[^0-9]/g,'').substring(1); | |
} | |
if(trr.includes("inglês") || trr.includes("fluência")) { | |
fluencia = tr.innerText.split('\n')[5]; | |
} | |
if(trr.includes("experiência") || trr.includes("tempo") || trr.includes("anos")) { | |
experiencia = tr.innerText.split('\n')[5]; | |
} | |
if(trr.includes("nível")) { | |
nivel = tr.innerText.split('\n')[5]; | |
} | |
triagem.push(trr); | |
}); | |
// document.querySelectorAll('.hiring-screening-question-list__list-item').forEach((tr) => { | |
// console.log(tr.innerText.split('\n')[0]); | |
// console.log(tr.innerText.split('\n')[5]); | |
// }); | |
if(name && email && link && fone) { | |
const obj = { | |
name, | |
linkedin: link, | |
photo, | |
email, | |
fone, | |
budget: pretensao, | |
fluencia, | |
experiencia, | |
nivel | |
// screening: triagem | |
}; | |
list.push(obj); | |
index++; | |
} | |
console.clear(); | |
console.table(list); | |
window.scrollTo(0, document.body.scrollHeight); | |
await sleep(100); | |
updateUsers(); | |
execSc(); | |
} else { | |
const pages = document.querySelectorAll('.artdeco-pagination__pages.artdeco-pagination__pages--number li'); | |
for (let i = 0; i < pages.length; i++) { | |
const pg = pages[i]; | |
if(pg.className.includes('selected')) { | |
if(pg.querySelector('button').ariaLabel === finishTxt) { | |
console.clear(); | |
console.table(list); | |
} else { | |
index = 0; | |
pages[i + 1].querySelector('button').click(); | |
await sleep(1000); | |
window.scrollTo(0, document.body.scrollHeight); | |
await sleep(500); | |
window.scrollTo(0, document.body.scrollHeight); | |
await sleep(1000); | |
updateUsers(); | |
await sleep(100); | |
execSc(); | |
} | |
} | |
} | |
} | |
} catch (error) { | |
await sleep(200); | |
execSc(); | |
} | |
}; | |
execSc(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment