UNPKG

@monitoro/herd

Version:

Automate your browser, build AI web tools and MCP servers with Monitoro Herd

80 lines (79 loc) 2.96 kB
import { EventEmitter } from 'events'; import type { Page } from './Page.js'; export interface SerializedDOMNode { nodeType: string; tagName?: string; attributes?: Record<string, string>; children?: (SerializedDOMNode | null)[]; index?: number; innerHTML?: string; position?: { x: number; y: number; }; size?: { width: number; height: number; }; textContent?: string; _meta: { selector: string; rootSelector?: string; }; } export declare class Node extends EventEmitter { protected _serialized: SerializedDOMNode; protected _page: Page; protected _children: Node[]; constructor(serialized: SerializedDOMNode, page: Page); get nodeType(): number; get nodeName(): string; get nodeValue(): string | null; get tagName(): string; get textContent(): string | null; private isBlockElement; get innerText(): string | null; get innerHTML(): string | undefined; get childNodes(): Node[]; get firstChild(): Node | null; get lastChild(): Node | null; getAttribute(name: string): string | null; hasAttribute(name: string): boolean; click(options?: { waitForNavigation?: 'load' | 'change' | 'domcontentloaded' | 'networkidle0' | 'networkidle2'; }): Promise<void>; type(text: string, options?: { waitForNavigation?: 'load' | 'change' | 'domcontentloaded' | 'networkidle0' | 'networkidle2'; }): Promise<void>; focus(options?: { waitForNavigation?: 'load' | 'change' | 'domcontentloaded' | 'networkidle0' | 'networkidle2'; }): Promise<void>; blur(options?: { waitForNavigation?: 'load' | 'change' | 'domcontentloaded' | 'networkidle0' | 'networkidle2'; }): Promise<void>; hover(options?: { waitForNavigation?: 'load' | 'change' | 'domcontentloaded' | 'networkidle0' | 'networkidle2'; }): Promise<void>; scrollIntoView(options?: { waitForNavigation?: 'load' | 'change' | 'domcontentloaded' | 'networkidle0' | 'networkidle2'; }): Promise<void>; setValue(value: string | boolean, options?: { waitForNavigation?: 'load' | 'change' | 'domcontentloaded' | 'networkidle0' | 'networkidle2'; }): Promise<void>; dispatchEvent(eventName: string, detail?: unknown, options?: { waitForNavigation?: 'load' | 'change' | 'domcontentloaded' | 'networkidle0' | 'networkidle2'; }): Promise<void | -1>; dragTo(target: Node | string, options?: { waitForNavigation?: 'load' | 'change' | 'domcontentloaded' | 'networkidle0' | 'networkidle2'; }): Promise<void>; $(selector: string): Promise<Node | null>; $$(selector: string): Promise<Node[]>; querySelector(selector: string): Promise<Node | null>; querySelectorAll(selector: string): Promise<Node[]>; getBoundingClientRect(): { x: number; y: number; width: number; height: number; }; }