/** * Copyright 2019 Google Inc. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /// import { PuppeteerLifeCycleEvent } from './LifecycleWatcher.js'; import { JSHandle, ElementHandle } from './JSHandle.js'; import { ExecutionContext } from './ExecutionContext.js'; import { TimeoutSettings } from './TimeoutSettings.js'; import { MouseButton } from './Input.js'; import { FrameManager, Frame } from './FrameManager.js'; import { SerializableOrJSHandle, EvaluateHandleFn, WrapElementHandle, EvaluateFn, EvaluateFnReturnType, UnwrapPromiseLike } from './EvalTypes.js'; /** * @public */ export interface WaitForSelectorOptions { visible?: boolean; hidden?: boolean; timeout?: number; } /** * @internal */ export interface PageBinding { name: string; pptrFunction: Function; } /** * @internal */ export declare class DOMWorld { private _frameManager; private _frame; private _timeoutSettings; private _documentPromise?; private _contextPromise?; private _contextResolveCallback?; private _detached; /** * @internal */ _waitTasks: Set; /** * @internal * Contains mapping from functions that should be bound to Puppeteer functions. */ _boundFunctions: Map; private _ctxBindings; private static bindingIdentifier; constructor(frameManager: FrameManager, frame: Frame, timeoutSettings: TimeoutSettings); frame(): Frame; _setContext(context?: ExecutionContext): Promise; _hasContext(): boolean; _detach(): void; executionContext(): Promise; evaluateHandle(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise; evaluate(pageFunction: T, ...args: SerializableOrJSHandle[]): Promise>>; $(selector: string): Promise | null>; _document(): Promise; $x(expression: string): Promise; $eval(selector: string, pageFunction: (element: Element, ...args: unknown[]) => ReturnType | Promise, ...args: SerializableOrJSHandle[]): Promise>; $$eval(selector: string, pageFunction: (elements: Element[], ...args: unknown[]) => ReturnType | Promise, ...args: SerializableOrJSHandle[]): Promise>; $$(selector: string): Promise>>; content(): Promise; setContent(html: string, options?: { timeout?: number; waitUntil?: PuppeteerLifeCycleEvent | PuppeteerLifeCycleEvent[]; }): Promise; /** * Adds a script tag into the current context. * * @remarks * * You can pass a URL, filepath or string of contents. Note that when running Puppeteer * in a browser environment you cannot pass a filepath and should use either * `url` or `content`. */ addScriptTag(options: { url?: string; path?: string; content?: string; type?: string; }): Promise; /** * Adds a style tag into the current context. * * @remarks * * You can pass a URL, filepath or string of contents. Note that when running Puppeteer * in a browser environment you cannot pass a filepath and should use either * `url` or `content`. * */ addStyleTag(options: { url?: string; path?: string; content?: string; }): Promise; click(selector: string, options: { delay?: number; button?: MouseButton; clickCount?: number; }): Promise; focus(selector: string): Promise; hover(selector: string): Promise; select(selector: string, ...values: string[]): Promise; tap(selector: string): Promise; type(selector: string, text: string, options?: { delay: number; }): Promise; waitForSelector(selector: string, options: WaitForSelectorOptions): Promise; private _settingUpBinding; /** * @internal */ addBindingToContext(context: ExecutionContext, name: string): Promise; private _onBindingCalled; /** * @internal */ waitForSelectorInPage(queryOne: Function, selector: string, options: WaitForSelectorOptions, binding?: PageBinding): Promise; waitForXPath(xpath: string, options: WaitForSelectorOptions): Promise; waitForFunction(pageFunction: Function | string, options?: { polling?: string | number; timeout?: number; }, ...args: SerializableOrJSHandle[]): Promise; title(): Promise; } /** * @internal */ export interface WaitTaskOptions { domWorld: DOMWorld; predicateBody: Function | string; title: string; polling: string | number; timeout: number; binding?: PageBinding; args: SerializableOrJSHandle[]; } /** * @internal */ export declare class WaitTask { _domWorld: DOMWorld; _polling: string | number; _timeout: number; _predicateBody: string; _args: SerializableOrJSHandle[]; _binding: PageBinding; _runCount: number; promise: Promise; _resolve: (x: JSHandle) => void; _reject: (x: Error) => void; _timeoutTimer?: NodeJS.Timeout; _terminated: boolean; constructor(options: WaitTaskOptions); terminate(error: Error): void; rerun(): Promise; _cleanup(): void; } //# sourceMappingURL=DOMWorld.d.ts.map