diff --git a/job_searcher.mjs b/job_searcher.mjs index 6ee08e3..0b18dd1 100644 --- a/job_searcher.mjs +++ b/job_searcher.mjs @@ -119,7 +119,7 @@ async function main() { } const keywordStart = getKeywordStart('linkedin', search.name); if (keywordStart > 0) console.log(` [${search.name}] resuming from keyword ${keywordStart + 1}/${search.keywords.length}`); - const effectiveSearch = { ...search, keywords: search.keywords.slice(keywordStart), filters: { ...search.filters, posted_within_days: lookbackDays } }; + const effectiveSearch = { ...search, keywords: search.keywords.slice(keywordStart), keywordOffset: keywordStart, filters: { ...search.filters, posted_within_days: lookbackDays } }; let queryFound = 0, queryAdded = 0; await searchLinkedIn(liBrowser.page, effectiveSearch, { onPage: (pageJobs) => { diff --git a/lib/linkedin.mjs b/lib/linkedin.mjs index ee6ee17..385d1da 100644 --- a/lib/linkedin.mjs +++ b/lib/linkedin.mjs @@ -23,7 +23,9 @@ export async function searchLinkedIn(page, search, { onPage, onKeyword } = {}) { for (let ki = 0; ki < search.keywords.length; ki++) { const keyword = search.keywords[ki]; - console.log(` [${search.track_label || search.track}] keyword ${ki + 1}/${search.keywords.length}: "${keyword}"`); + const globalIdx = (search.keywordOffset || 0) + ki; + const globalTotal = (search.keywordOffset || 0) + search.keywords.length; + console.log(` [${search.track_label || search.track}] keyword ${globalIdx + 1}/${globalTotal}: "${keyword}"`); const params = new URLSearchParams({ keywords: keyword, sortBy: 'DD' }); if (search.filters?.remote) params.set('f_WT', '2'); if (search.filters?.easy_apply_only) params.set('f_LF', 'f_AL');