chromancer
Version:
A powerful command-line interface for automating Chrome browser using Playwright. Perfect for web scraping, automation, testing, and browser workflows.
63 lines (62 loc) • 1.67 kB
TypeScript
import { Page } from 'playwright';
import { DOMDigest } from './dom-digest.js';
export interface DOMInspectionResult {
selectors: {
common: string[];
withText: {
selector: string;
text: string;
}[];
dataAttributes: string[];
};
structure: {
headings: {
level: string;
text: string;
selector: string;
}[];
links: {
text: string;
href: string;
selector: string;
}[];
buttons: {
text: string;
selector: string;
}[];
inputs: {
type: string;
name?: string;
placeholder?: string;
selector: string;
visible?: boolean;
}[];
};
visibility: {
hiddenElements: {
selector: string;
reason: string;
}[];
revealTriggers: {
triggerSelector: string;
targetSelector: string;
action: string;
}[];
};
suggestions: string[];
digest?: DOMDigest;
}
export declare class DOMInspector {
private page;
private digestCollector;
private selectorRanker;
constructor(page: Page);
inspectForDataExtraction(targetDescription: string): Promise<DOMInspectionResult>;
private generateSuggestions;
findWorkingSelectors(possibleSelectors: string[]): Promise<{
selector: string;
count: number;
}[]>;
inspectWithDigest(targetDescription: string): Promise<DOMInspectionResult>;
suggestSelectorsForExtraction(description: string): Promise<string[]>;
}