UNPKG

@jomari-wp/linkedin-jobs-scraper

Version:

Scrape public available jobs on Linkedin using headless browser

97 lines (96 loc) 2.33 kB
import { RunStrategy, IRunStrategyResult } from "./RunStrategy"; import { BrowserContext, Page, CDPSession } from "puppeteer"; import { IQuery } from "../query"; export declare const selectors: { container: string; chatPanel: string; jobs: string; link: string; applyBtn: string; title: string; company: string; companyLink: string; place: string; date: string; description: string; detailsPanel: string; detailsTop: string; details: string; insights: string; pagination: string; privacyAcceptBtn: string; paginationNextBtn: string; paginationBtn: (index: number) => string; }; /** * @class AuthenticatedStrategy * @extends RunStrategy */ export declare class AuthenticatedStrategy extends RunStrategy { /** * Check if session is authenticated * @param {Page} page * @returns {Promise<boolean>} * @returns {Promise<ILoadResult>} * @static * @private */ private static _isAuthenticatedSession; /** * Load jobs * @param page {Page} * @param jobsTot {number} * @param timeout {number} * @static * @private */ private static _loadJobs; /** * Try to load job details * @param {Page} page * @param {string} jobId * @param {number} timeout * @static * @private */ private static _loadJobDetails; /** * Try to paginate * @param {Page} page * @param {string} tag * @param {string} paginationSize * @param {number} timeout * @returns {Promise<ILoadResult>} * @static * @private */ private static _paginate; /** * Hide chat panel * @param {Page} page * @param {string} tag */ private static _hideChatPanel; /** * Accept cookies * @param {Page} page * @param {string} tag */ private static _acceptCookies; /** * Accept privacy * @param page * @param tag */ private static _acceptPrivacy; /** * 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>; }