/** * DOM Element Scanner * Automatically discovers UI elements on a web page using Playwright */ import type { Page } from '@playwright/test'; import type { DiscoveredElement, ScanOptions } from '../types/scan.js'; export declare class DOMScanner { private page; private url; constructor(page: Page, url: string); /** * Scan the page for elements based on options */ scan(options: ScanOptions): Promise; /** * Scan for buttons (button elements and elements with role="button") */ private scanButtons; /** * Scan for links */ private scanLinks; /** * Scan for forms */ private scanForms; /** * Scan for inputs */ private scanInputs; /** * Scan for images */ private scanImages; /** * Scan for headings */ private scanHeadings; /** * Generate a CSS selector for an element * Priority: ID > first class > tag + attribute > tag */ private generateSelector; /** * Check if a type should be included in the scan */ private shouldInclude; /** * Filter out elements that match exclusion patterns */ private filterExcluded; }