feat: capture external ATS URLs + analyze_ats.mjs to rank platforms by job count
This commit is contained in:
@@ -102,7 +102,17 @@ export async function applyLinkedIn(page, job, formFiller) {
|
||||
const interestedBtn = await page.$('button[aria-label*="interested"], button:has-text("I\'m interested")');
|
||||
|
||||
if (!eaBtn && interestedBtn) return { status: 'skipped_recruiter_only', meta };
|
||||
if (!eaBtn && externalBtn) return { status: 'skipped_external_unsupported', meta };
|
||||
if (!eaBtn && externalBtn) {
|
||||
// Capture the external apply URL for ATS analysis
|
||||
const externalUrl = await externalBtn.evaluate(el => el.getAttribute('href') || el.dataset?.href || '')
|
||||
.catch(() => '');
|
||||
// Also check for redirect links in the page
|
||||
const applyLink = await page.evaluate(() => {
|
||||
const a = document.querySelector('a[href*="greenhouse"], a[href*="lever"], a[href*="workday"], a[href*="ashby"], a[href*="jobvite"], a[href*="smartrecruiters"], a[href*="icims"], a[href*="taleo"]');
|
||||
return a?.href || '';
|
||||
}).catch(() => '');
|
||||
return { status: 'skipped_external_unsupported', meta, externalUrl: applyLink || externalUrl };
|
||||
}
|
||||
if (!eaBtn) return { status: 'skipped_easy_apply_unsupported', meta };
|
||||
|
||||
// Click Easy Apply
|
||||
|
||||
Reference in New Issue
Block a user