mirror of
https://github.com/puppeteer/puppeteer
synced 2024-06-14 14:02:48 +00:00
refactor: respect protocol
option in Puppeteer.connect
(#11338)
Co-authored-by: Maksim Sadym <sadym@google.com>
This commit is contained in:
parent
0fe89b7da9
commit
3a11926bd8
@ -28,7 +28,7 @@ import {isErrorLike} from '../util/ErrorLike.js';
|
|||||||
|
|
||||||
import {CdpBrowser} from './Browser.js';
|
import {CdpBrowser} from './Browser.js';
|
||||||
import {Connection} from './Connection.js';
|
import {Connection} from './Connection.js';
|
||||||
import type {ConnectOptions} from './Puppeteer.js';
|
import type {ConnectOptions} from './ConnectOptions.js';
|
||||||
/**
|
/**
|
||||||
* Generic browser options that can be passed when launching any browser or when
|
* Generic browser options that can be passed when launching any browser or when
|
||||||
* connecting to an existing browser instance.
|
* connecting to an existing browser instance.
|
||||||
|
34
packages/puppeteer-core/src/cdp/ConnectOptions.ts
Normal file
34
packages/puppeteer-core/src/cdp/ConnectOptions.ts
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2023 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 type {ConnectionTransport} from '../common/ConnectionTransport.js';
|
||||||
|
|
||||||
|
import type {BrowserConnectOptions} from './BrowserConnector.js';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @public
|
||||||
|
*/
|
||||||
|
export interface ConnectOptions extends BrowserConnectOptions {
|
||||||
|
browserWSEndpoint?: string;
|
||||||
|
browserURL?: string;
|
||||||
|
transport?: ConnectionTransport;
|
||||||
|
/**
|
||||||
|
* Headers to use for the web socket connection.
|
||||||
|
* @remarks
|
||||||
|
* Only works in the Node.js environment.
|
||||||
|
*/
|
||||||
|
headers?: Record<string, string>;
|
||||||
|
}
|
@ -22,6 +22,7 @@ export * from './BrowserConnector.js';
|
|||||||
export * from './CDPSession.js';
|
export * from './CDPSession.js';
|
||||||
export * from './ChromeTargetManager.js';
|
export * from './ChromeTargetManager.js';
|
||||||
export * from './Connection.js';
|
export * from './Connection.js';
|
||||||
|
export * from './ConnectOptions.js';
|
||||||
export * from './Coverage.js';
|
export * from './Coverage.js';
|
||||||
export * from './DeviceRequestPrompt.js';
|
export * from './DeviceRequestPrompt.js';
|
||||||
export * from './Dialog.js';
|
export * from './Dialog.js';
|
||||||
@ -43,7 +44,6 @@ export * from './NetworkEventManager.js';
|
|||||||
export * from './NetworkManager.js';
|
export * from './NetworkManager.js';
|
||||||
export * from './Page.js';
|
export * from './Page.js';
|
||||||
export * from './PredefinedNetworkConditions.js';
|
export * from './PredefinedNetworkConditions.js';
|
||||||
export * from './Puppeteer.js';
|
|
||||||
export * from './Target.js';
|
export * from './Target.js';
|
||||||
export * from './TargetManager.js';
|
export * from './TargetManager.js';
|
||||||
export * from './Tracing.js';
|
export * from './Tracing.js';
|
||||||
|
@ -15,16 +15,13 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import type {Browser} from '../api/Browser.js';
|
import type {Browser} from '../api/Browser.js';
|
||||||
import type {ConnectionTransport} from '../common/ConnectionTransport.js';
|
import {_connectToCdpBrowser} from '../cdp/BrowserConnector.js';
|
||||||
|
import type {ConnectOptions} from '../cdp/ConnectOptions.js';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
type CustomQueryHandler,
|
type CustomQueryHandler,
|
||||||
customQueryHandlers,
|
customQueryHandlers,
|
||||||
} from '../common/CustomQueryHandler.js';
|
} from './CustomQueryHandler.js';
|
||||||
|
|
||||||
import {
|
|
||||||
type BrowserConnectOptions,
|
|
||||||
_connectToCdpBrowser,
|
|
||||||
} from './BrowserConnector.js';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Settings that are common to the Puppeteer class, regardless of environment.
|
* Settings that are common to the Puppeteer class, regardless of environment.
|
||||||
@ -34,20 +31,6 @@ import {
|
|||||||
export interface CommonPuppeteerSettings {
|
export interface CommonPuppeteerSettings {
|
||||||
isPuppeteerCore: boolean;
|
isPuppeteerCore: boolean;
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
* @public
|
|
||||||
*/
|
|
||||||
export interface ConnectOptions extends BrowserConnectOptions {
|
|
||||||
browserWSEndpoint?: string;
|
|
||||||
browserURL?: string;
|
|
||||||
transport?: ConnectionTransport;
|
|
||||||
/**
|
|
||||||
* Headers to use for the web socket connection.
|
|
||||||
* @remarks
|
|
||||||
* Only works in the Node.js environment.
|
|
||||||
*/
|
|
||||||
headers?: Record<string, string>;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The main Puppeteer class.
|
* The main Puppeteer class.
|
||||||
@ -145,6 +128,10 @@ export class Puppeteer {
|
|||||||
* @returns Promise which resolves to browser instance.
|
* @returns Promise which resolves to browser instance.
|
||||||
*/
|
*/
|
||||||
connect(options: ConnectOptions): Promise<Browser> {
|
connect(options: ConnectOptions): Promise<Browser> {
|
||||||
return _connectToCdpBrowser(options);
|
if (options.protocol === 'webDriverBiDi') {
|
||||||
|
throw new Error('Not implemented');
|
||||||
|
} else {
|
||||||
|
return _connectToCdpBrowser(options);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -34,6 +34,7 @@ export * from './PDFOptions.js';
|
|||||||
export * from './PierceQueryHandler.js';
|
export * from './PierceQueryHandler.js';
|
||||||
export * from './PQueryHandler.js';
|
export * from './PQueryHandler.js';
|
||||||
export * from './Product.js';
|
export * from './Product.js';
|
||||||
|
export * from './Puppeteer.js';
|
||||||
export * from './QueryHandler.js';
|
export * from './QueryHandler.js';
|
||||||
export * from './ScriptInjector.js';
|
export * from './ScriptInjector.js';
|
||||||
export * from './SecurityDetails.js';
|
export * from './SecurityDetails.js';
|
||||||
|
@ -24,13 +24,10 @@ import {
|
|||||||
|
|
||||||
import type {Browser} from '../api/Browser.js';
|
import type {Browser} from '../api/Browser.js';
|
||||||
import type {BrowserConnectOptions} from '../cdp/BrowserConnector.js';
|
import type {BrowserConnectOptions} from '../cdp/BrowserConnector.js';
|
||||||
import {
|
import type {ConnectOptions} from '../cdp/ConnectOptions.js';
|
||||||
type CommonPuppeteerSettings,
|
|
||||||
type ConnectOptions,
|
|
||||||
Puppeteer,
|
|
||||||
} from '../cdp/Puppeteer.js';
|
|
||||||
import type {Configuration} from '../common/Configuration.js';
|
import type {Configuration} from '../common/Configuration.js';
|
||||||
import type {Product} from '../common/Product.js';
|
import type {Product} from '../common/Product.js';
|
||||||
|
import {type CommonPuppeteerSettings, Puppeteer} from '../common/Puppeteer.js';
|
||||||
import {PUPPETEER_REVISIONS} from '../revisions.js';
|
import {PUPPETEER_REVISIONS} from '../revisions.js';
|
||||||
|
|
||||||
import {ChromeLauncher} from './ChromeLauncher.js';
|
import {ChromeLauncher} from './ChromeLauncher.js';
|
||||||
|
Loading…
Reference in New Issue
Block a user