/** * QA360 Page Analyzer * * Analyzes web pages to discover elements, forms, and patterns * * NOW WITH INTELLIGENT SITE PROFILING! * - Analyzes site characteristics on first page visit * - Adapts selector strategy based on detected profile * - Filters utility classes (Tailwind, Bootstrap, MUI) */ import type { CrawlOptions, PageDefinition } from './types.js'; /** * Page Analyzer class */ export declare class PageAnalyzer { private browser?; private context?; private page?; private options; private profiler?; private siteAnalyzed; private siteAnalysis?; constructor(options: CrawlOptions); /** * Initialize browser */ private initBrowser; /** * Perform authentication if configured (Phase 1: Enhanced with preset selectors and success verification) * Returns true if authentication succeeded, false otherwise */ private performAuth; /** * Analyze a single page */ analyze(url: string, depth: number): Promise; /** * Discover all interactive elements on the page */ private discoverElements; /** * Discover buttons */ private discoverButtons; /** * Discover links */ private discoverLinks; /** * Discover forms */ private discoverForms; /** * Discover fields within a form */ private discoverFormFields; /** * Detect form purpose based on fields */ private detectFormPurpose; /** * Calculate confidence for form purpose detection */ private calculateFormPurposeConfidence; /** * Discover standalone input fields (not in forms) */ private discoverInputs; /** * Discover select elements */ private discoverSelects; /** * Discover checkboxes */ private discoverCheckboxes; /** * Discover radio buttons */ private discoverRadios; /** * ═══════════════════════════════════════════════════════════════════════════════ * PART 5: DISCOVER IFRAMES * ═══════════════════════════════════════════════════════════════════════════════ */ private discoverIframes; /** * Analyze page navigation structure */ private analyzeNavigation; /** * Run accessibility scan using axe-core with native ARIA fallback * When CSP blocks external scripts, falls back to native ARIA inspection */ private runAccessibilityScan; /** * Native ARIA accessibility scan (fallback when axe-core is blocked) * Uses browser's built-in ARIA inspection capabilities */ private runNativeAriaScan; /** * Detect page type */ private detectPageType; /** * Clean up resources */ cleanup(): Promise; }