UNPKG

2.96 kBTypeScriptView Raw
1import { ChromelessOptions, Headers, Cookie, CookieQuery, PdfOptions, DeviceMetrics, ScreenshotOptions } from './types';
2export default class Chromeless<T extends any> implements Promise<T> {
3 private queue;
4 private lastReturnPromise;
5 constructor(options?: ChromelessOptions, copyInstance?: Chromeless<any>);
6 readonly [Symbol.toStringTag]: 'Promise';
7 then<U>(onFulfill?: ((value: T) => U | PromiseLike<U>) | null, onReject?: ((error: any) => U | PromiseLike<U>) | null): Promise<U>;
8 catch<U>(onrejected?: (reason: any) => U | PromiseLike<U>): Promise<U>;
9 goto(url: string, timeout?: number): Chromeless<T>;
10 setUserAgent(useragent: string): Chromeless<T>;
11 click(selector: string): Chromeless<T>;
12 wait(timeout: number): Chromeless<T>;
13 wait(selector: string, timeout?: number): Chromeless<T>;
14 wait(fn: (...args: any[]) => boolean, ...args: any[]): Chromeless<T>;
15 clearCache(): Chromeless<T>;
16 clearStorage(origin: string, storageTypes: string): Chromeless<T>;
17 focus(selector: string): Chromeless<T>;
18 press(keyCode: number, count?: number, modifiers?: any): Chromeless<T>;
19 type(input: string, selector?: string): Chromeless<T>;
20 back(): Chromeless<T>;
21 forward(): Chromeless<T>;
22 refresh(): Chromeless<T>;
23 mousedown(selector: string): Chromeless<T>;
24 mouseup(selector: string): Chromeless<T>;
25 mouseover(): Chromeless<T>;
26 scrollTo(x: number, y: number): Chromeless<T>;
27 scrollToElement(selector: string): Chromeless<T>;
28 setViewport(options: DeviceMetrics): Chromeless<T>;
29 setHtml(html: string): Chromeless<T>;
30 setExtraHTTPHeaders(headers: Headers): Chromeless<T>;
31 evaluate<U extends any>(fn: (...args: any[]) => U, ...args: any[]): Chromeless<U>;
32 inputValue(selector: string): Chromeless<string>;
33 exists(selector: string): Chromeless<boolean>;
34 screenshot(selector?: string, options?: ScreenshotOptions): Chromeless<string>;
35 html(): Chromeless<string>;
36 htmlUrl(): Chromeless<string>;
37 pdf(options?: PdfOptions): Chromeless<string>;
38 /**
39 * Get the cookies for the current url
40 */
41 cookies(): Chromeless<Cookie[] | null>;
42 /**
43 * Get a specific cookie for the current url
44 * @param name
45 */
46 cookies(name: string): Chromeless<Cookie | null>;
47 /**
48 * Get a specific cookie by query. Not implemented yet
49 * @param query
50 */
51 cookies(query: CookieQuery): Chromeless<Cookie[] | null>;
52 allCookies(): Chromeless<Cookie[]>;
53 setCookies(name: string, value: string): Chromeless<T>;
54 setCookies(cookie: Cookie): Chromeless<T>;
55 setCookies(cookies: Cookie[]): Chromeless<T>;
56 deleteCookies(name: string, url: string): Chromeless<T>;
57 clearCookies(): Chromeless<T>;
58 clearInput(selector: string): Chromeless<T>;
59 setFileInput(selector: string, files: string): Chromeless<T>;
60 setFileInput(selector: string, files: string[]): Chromeless<T>;
61 end(): Promise<T>;
62}