UNPKG

@webmcp/puppeteer

Version:

Puppeteer integration for webMCP - Headless Chrome automation with AI

86 lines (85 loc) 2.38 kB
/** * @webmcp/puppeteer - Puppeteer integration for webMCP * Headless Chrome automation with AI-driven element detection */ import { Page, ElementHandle, LaunchOptions } from 'puppeteer'; export interface WebMCPPuppeteerConfig { aiConfig?: { apiKeys: { openai?: string; anthropic?: string; google?: string; }; defaultModel?: string; }; optimizationLevel?: 'basic' | 'advanced' | 'premium'; puppeteerOptions?: LaunchOptions; screenshotOnError?: boolean; timeout?: number; } export declare class WebMCPPuppeteer { private processor; private aiClient?; private config; private webmcpData?; private browser?; private page?; constructor(config?: WebMCPPuppeteerConfig); /** * Launch browser and create page */ launch(): Promise<Page>; /** * Navigate to URL */ goto(url: string): Promise<void>; /** * Scan current page and generate webMCP data */ scanPage(): Promise<any>; /** * Generate AI-driven test actions based on goal */ generateActions(goal: string): Promise<string[]>; /** * Execute webMCP-based actions */ executeActions(actions: string[]): Promise<void>; /** * Smart element interaction using webMCP names */ interactWith(elementName: string, action: string, value?: string): Promise<void>; /** * Get element by webMCP name */ getElement(elementName: string): Promise<ElementHandle<Element> | null>; /** * Wait for element to appear */ waitForElement(elementName: string, timeout?: number): Promise<void>; /** * Take screenshot of the page */ screenshot(path: string): Promise<void>; /** * Generate PDF of the page */ generatePDF(path: string): Promise<void>; /** * Evaluate JavaScript in page context */ evaluate<T>(fn: string | ((...args: any[]) => T), ...args: any[]): Promise<T>; /** * Get page performance metrics */ getPerformanceMetrics(): Promise<any>; /** * Close browser */ close(): Promise<void>; private parseAIResponse; private executeAction; private extractElementName; private extractValue; } export declare function createWebMCPPuppeteer(config?: WebMCPPuppeteerConfig): Promise<WebMCPPuppeteer>;