browser-use-typescript
Version:
A TypeScript-based browser automation framework
99 lines (98 loc) • 5.31 kB
TypeScript
import { Browser } from "./browserService";
import { Browser as PlaywrightBrowser } from "playwright";
import { BrowserContext as PlaywrightBrowserContext } from "playwright";
import { ElementHandle, Page } from "playwright";
import { BrowserState, TabInfo } from "./type";
import { DOMElementNode, SelectorMap } from "../../domTypes/domClass";
declare class BrowserContextWindowSize {
width: number;
height: number;
constructor(width: number, height: number);
}
export declare class BrowserContextConfig {
cookies_file: string | null;
s3Storage: boolean;
minimum_wait_page_load_time: number;
wait_for_network_idle_page_load_time: number;
maximum_wait_page_load_time: number;
wait_between_actions: number;
browser_window_size: BrowserContextWindowSize;
no_viewport: boolean | null;
save_recording_path: string | null;
save_downloads_path: string | null;
trace_path: string | null;
locale: string | null;
user_agent: string;
highlight_elements: boolean;
viewport_expansion: number;
allowed_domains: string[] | null;
include_dynamic_attributes: boolean;
disable_security: boolean;
_force_keep_context_alive: boolean;
constructor();
}
declare class BrowserSession {
context: PlaywrightBrowserContext;
cached_state: BrowserState | null;
constructor(context: PlaywrightBrowserContext, cached_state: BrowserState | null);
}
declare class BrowserContextState {
target_id: string | null;
constructor(target_id?: string | null);
}
export declare class BrowserContext {
context_id: string;
config: BrowserContextConfig;
current_state: BrowserState | undefined;
browser: Browser;
state?: BrowserContextState;
session: BrowserSession | null;
private _initialized;
constructor(param?: Partial<BrowserContext>);
private _ensure_initialized;
__aexit__(): Promise<void>;
close(): Promise<void>;
save_cookies(local?: boolean): Promise<void>;
_initialize_session(): Promise<BrowserSession>;
_add_new_page_listener(this: BrowserContext, context: PlaywrightBrowserContext): Promise<void>;
get_session(this: BrowserContext): Promise<BrowserSession>;
get_current_page(this: BrowserContext): Promise<Page>;
_get_current_page(this: BrowserContext, session: BrowserSession): Promise<Page>;
_create_context(this: BrowserContext, browser: PlaywrightBrowser): Promise<PlaywrightBrowserContext>;
_wait_for_stable_network(this: BrowserContext): Promise<void>;
_wait_for_page_and_frames_load(this: BrowserContext, timeout_overwrite?: number | null): Promise<void>;
_is_url_allowed(this: BrowserContext, url: string): Promise<boolean>;
_check_and_handle_navigation(this: BrowserContext, page: Page): Promise<void>;
handle_page_load(this: BrowserContext): Promise<void>;
navigate_to(this: BrowserContext, url: string): Promise<void>;
refresh_page(this: BrowserContext): Promise<void>;
go_back(this: BrowserContext): Promise<void>;
go_forward(this: BrowserContext): Promise<void>;
close_current_tab(this: BrowserContext): Promise<void>;
get_page_html(this: BrowserContext): Promise<string>;
execute_javascript(this: BrowserContext, script: string): Promise<any>;
get_page_structure(this: BrowserContext): Promise<string>;
get_state(this: BrowserContext): Promise<BrowserState>;
_update_state(this: BrowserContext, focus_element?: number): Promise<BrowserState>;
take_screenshot(this: BrowserContext, full_page?: boolean): Promise<string>;
remove_highlights(this: BrowserContext): Promise<void>;
_convert_simple_xpath_to_css_selector(xpath: string): Promise<string>;
_enhanced_css_selector_for_element(element: DOMElementNode, include_dynamic_attributes?: boolean): Promise<string>;
get_locate_element(this: BrowserContext, element: DOMElementNode): Promise<ElementHandle | null>;
get_locate_element_by_xpath(this: BrowserContext, xpath: string): Promise<ElementHandle | null>;
get_locate_element_by_css_selector(this: BrowserContext, css_selector: string): Promise<ElementHandle | null>;
get_locate_element_by_text(this: BrowserContext, text: string, nth?: number): Promise<ElementHandle | null>;
_input_text_element_node(this: BrowserContext, element_node: DOMElementNode, text: string): Promise<void>;
_click_element_node(this: BrowserContext, element_node: DOMElementNode): Promise<string | undefined>;
get_tabs_info(this: BrowserContext): Promise<TabInfo[]>;
switch_to_tab(this: BrowserContext, page_id: number): Promise<void>;
create_new_tab(this: BrowserContext, url?: string | null): Promise<void>;
get_selector_map(this: BrowserContext): Promise<SelectorMap>;
get_element_by_index(this: BrowserContext, index: number): Promise<ElementHandle | null>;
get_dom_element_by_index(this: BrowserContext, index: number): Promise<DOMElementNode>;
is_file_uploader(this: BrowserContext, element_node: DOMElementNode, max_depth?: number, current_depth?: number): Promise<boolean>;
get_scroll_info(this: BrowserContext, page: Page): Promise<[number, number]>;
reset_context(this: BrowserContext): Promise<void>;
_get_unique_filename(this: BrowserContext, directory: string, filename: string): Promise<string>;
}
export {};