UNPKG

@jomari-wp/linkedin-jobs-scraper

Version:

Scrape public available jobs on Linkedin using headless browser

66 lines (65 loc) 2.1 kB
import { RunStrategy, IRunStrategyResult } from "./RunStrategy"; import { BrowserContext, Page, CDPSession } from "puppeteer"; import { IQuery } from "../query"; export declare class Selectors { static switchSelectors: boolean; static get container(): ".results__container.results__container--two-pane" | ".two-pane-serp-page__results-list"; static get jobs(): string; static get links(): ".jobs-search__results-list li a.result-card__full-card-link" | "a.base-card__full-link"; static get applyLink(): string; static get dates(): string; static get companies(): ".result-card__subtitle.job-result-card__subtitle" | ".base-search-card__subtitle"; static get places(): ".job-result-card__location" | ".job-search-card__location"; static get detailsPanel(): string; static get description(): string; static get seeMoreJobs(): string; } /** * @class AnonymousStrategy * @extends RunStrategy */ export declare class AnonymousStrategy extends RunStrategy { /** * Verify if authentication is required * @param {Page} page * @returns {Promise<boolean>} * @static * @private */ private static _needsAuthentication; /** * Wait for job details to load * @param page {Page} * @param jobId {string} * @param timeout {number} * @returns {Promise<ILoadResult>} * @static * @private */ private static _loadJobDetails; /** * Try to load more jobs * @param page {Page} * @param jobLinksTot {number} * @param timeout {number} * @returns {Promise<ILoadResult>} * @private */ private static _loadMoreJobs; /** * Accept cookies * @param {Page} page * @param {string} tag */ private static _acceptCookies; /** * Run strategy * @param browser * @param page * @param cdpSession * @param url * @param query * @param location */ run: (browser: BrowserContext, page: Page, cdpSession: CDPSession, url: string, query: IQuery, location: string) => Promise<IRunStrategyResult>; }