UNPKG

rabbit-browser

Version:

Browser automation tool for detecting interactive elements on web pages

76 lines (75 loc) 2.05 kB
export interface HighlightedElement { element: Element; highlight: HTMLElement; number: HTMLElement; } export interface HighlightedTextBlock { element: Element; highlight: HTMLElement; number: HTMLElement; text: string; } export interface ElementData { id?: string; tagName: string; type?: string; text: string; attributes?: Record<string, string>; href?: string; isVisible: boolean; isClickable: boolean; interactable?: boolean; isFormInput?: boolean; label?: string; placeholder?: string; name?: string; required?: boolean; checked?: boolean; options?: Array<{ value: string; text: string; selected: boolean; }>; puppet?: { selector: string; index: number; }; } declare global { interface Window { getClickableElements: () => Element[]; highlightedElements: Array<HighlightedElement>; highlightedTextBlocks: Array<HighlightedTextBlock>; elementObserver: IntersectionObserver; textObserver: IntersectionObserver; updateHighlights: () => void; highlightClickableElement: (element: Element, index: number) => void; highlightTextBlock: (element: Element, index: number) => void; processedElements: Set<Element>; processedTextBlocks: Set<Element>; startObservingNewElements: () => void; _detectorOptions?: { focusOnConsent?: boolean; includeFormInputs?: boolean; highlightAllText?: boolean; [key: string]: any; }; } } export interface Options { headless: boolean; defaultViewport: { width: number; height: number; }; highlightAllText: boolean; focusOnConsent: boolean; logDetails: boolean; waitTime: number; minElementsRequired: number; earlyReturn: boolean; includePageContext: boolean; includeFormInputs: boolean; includeTextBlocks: boolean; preserveBrowserViewport: boolean; }