browser-automator
Version:
Puppeteer alternative for Chrome extensions. A module for Chrome extensions that functions similarly to Puppeteer.
144 lines (143 loc) • 6.42 kB
TypeScript
import { ActionOptions } from './others';
declare const selfIntegration: (global?: boolean) => {
exists: () => boolean;
ElementActions: {
new (): {};
elements: Map<any, any>;
getElement(elementPath: string): any;
handleCall(elementPath: string, key: string, args?: any[]): any;
handleGet(elementPath: string, key: string): any;
handleSet(elementPath: string, key: string, value: any): void;
};
getElement: (selectors: string, contextNode?: Element | Document, index?: number) => Element;
getElements: (selectors: string, contextNode?: Element | Document) => Element[];
getElementBySelectors: (selectors: string, contextNode?: Element | Document, index?: number) => Element | null;
getElementsBySelectors: (selectors: string, contextNode?: Element | Document) => Element[];
getElementByXPath: (expression: string, contextNode?: Element | Document, index?: number) => Node | null;
getElementsByXPath: (expression: string, contextNode?: Element | Document) => Element[];
triggerEvent: (element: any, type: "click" | "input" | "submit" | "keydown" | "keyup" | "keypress" | "change" | "mouseover" | "mouseout" | "focus" | "blur" | "load" | string) => void;
triggerPaste: (element: any) => void;
setValue: (element: {
tagName: string;
value: any;
innerHTML: any;
}, value: any) => void;
isXPath: (expression: string) => RegExpMatchArray | null;
filesToFileList: (files: FileList) => FileList;
getBlob: (url: string) => Promise<unknown>;
dataUrlToFile: (dataUrl: string, name: string) => File;
blobToFile: (blob: Blob, name: string) => File;
goto: (url: string) => string;
reload: () => void;
url: () => string;
close: () => void;
zoom: (zoomFactor: number) => number;
waitFor: (func: Function, args: any[], options?: {
tryLimit?: number;
delay?: number;
}) => Promise<any>;
waitForNavigation: (options?: {
tryLimit?: number;
delay?: number;
}) => Promise<void>;
waitForElement: (selectors: string, options?: {
tryLimit?: number;
delay?: number;
}, index?: number) => Promise<void>;
waitForElementMiss: (selectors: string, options?: {
tryLimit?: number;
delay?: number;
}, index?: number) => Promise<void>;
click: (selectors: string, index?: number, { scrollToElementBeforeAction, scrollIntoViewOptions }?: ActionOptions) => boolean;
elementExists: (selectors: string, index?: number) => boolean;
execPasteTo: (selectors: string, index?: number, { scrollToElementBeforeAction, scrollIntoViewOptions }?: ActionOptions) => boolean;
input: (selectors: string, value: any, index?: number, { scrollToElementBeforeAction, scrollIntoViewOptions }?: ActionOptions) => boolean;
elementCatcher: {
current?: {
originalFunc: any;
elements: Element[];
tagNames: string[];
};
catch: (tagNames: string[]) => boolean;
terminate: () => boolean;
};
manualClick: {
current?: {
element: Element | any;
};
enable: Function;
disable: Function;
};
};
declare const Self: {
exists: () => boolean;
ElementActions: {
new (): {};
elements: Map<any, any>;
getElement(elementPath: string): any;
handleCall(elementPath: string, key: string, args?: any[]): any;
handleGet(elementPath: string, key: string): any;
handleSet(elementPath: string, key: string, value: any): void;
};
getElement: (selectors: string, contextNode?: Element | Document, index?: number) => Element;
getElements: (selectors: string, contextNode?: Element | Document) => Element[];
getElementBySelectors: (selectors: string, contextNode?: Element | Document, index?: number) => Element | null;
getElementsBySelectors: (selectors: string, contextNode?: Element | Document) => Element[];
getElementByXPath: (expression: string, contextNode?: Element | Document, index?: number) => Node | null;
getElementsByXPath: (expression: string, contextNode?: Element | Document) => Element[];
triggerEvent: (element: any, type: "click" | "input" | "submit" | "keydown" | "keyup" | "keypress" | "change" | "mouseover" | "mouseout" | "focus" | "blur" | "load" | string) => void;
triggerPaste: (element: any) => void;
setValue: (element: {
tagName: string;
value: any;
innerHTML: any;
}, value: any) => void;
isXPath: (expression: string) => RegExpMatchArray | null;
filesToFileList: (files: FileList) => FileList;
getBlob: (url: string) => Promise<unknown>;
dataUrlToFile: (dataUrl: string, name: string) => File;
blobToFile: (blob: Blob, name: string) => File;
goto: (url: string) => string;
reload: () => void;
url: () => string;
close: () => void;
zoom: (zoomFactor: number) => number;
waitFor: (func: Function, args: any[], options?: {
tryLimit?: number;
delay?: number;
}) => Promise<any>;
waitForNavigation: (options?: {
tryLimit?: number;
delay?: number;
}) => Promise<void>;
waitForElement: (selectors: string, options?: {
tryLimit?: number;
delay?: number;
}, index?: number) => Promise<void>;
waitForElementMiss: (selectors: string, options?: {
tryLimit?: number;
delay?: number;
}, index?: number) => Promise<void>;
click: (selectors: string, index?: number, { scrollToElementBeforeAction, scrollIntoViewOptions }?: ActionOptions) => boolean;
elementExists: (selectors: string, index?: number) => boolean;
execPasteTo: (selectors: string, index?: number, { scrollToElementBeforeAction, scrollIntoViewOptions }?: ActionOptions) => boolean;
input: (selectors: string, value: any, index?: number, { scrollToElementBeforeAction, scrollIntoViewOptions }?: ActionOptions) => boolean;
elementCatcher: {
current?: {
originalFunc: any;
elements: Element[];
tagNames: string[];
};
catch: (tagNames: string[]) => boolean;
terminate: () => boolean;
};
manualClick: {
current?: {
element: Element | any;
};
enable: Function;
disable: Function;
};
};
export default Self;
export { selfIntegration };