@jomari-wp/linkedin-jobs-scraper
Version:
Scrape public available jobs on Linkedin using headless browser
97 lines (96 loc) • 2.33 kB
TypeScript
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>;
}