Socket
Socket
Sign inDemoInstall

puppeteer-core

Package Overview
Dependencies
Maintainers
5
Versions
239
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

puppeteer-core - npm Package Compare versions

Comparing version 3.1.0 to 3.2.0

lib/EventEmitter.js

3

lib/api.js

@@ -31,2 +31,3 @@ /**

ExecutionContext: require('./ExecutionContext').ExecutionContext,
EventEmitter: require('./EventEmitter').EventEmitter,
FileChooser: require('./FileChooser').FileChooser,

@@ -39,3 +40,3 @@ Frame: require('./FrameManager').Frame,

Puppeteer: require('./Puppeteer').Puppeteer,
Request: require('./Request').Request,
HTTPRequest: require('./HTTPRequest').HTTPRequest,
Response: require('./Response').Response,

@@ -42,0 +43,0 @@ SecurityDetails: require('./SecurityDetails').SecurityDetails,

@@ -21,5 +21,5 @@ "use strict";

const Target_1 = require("./Target");
const EventEmitter = require("events");
const EventEmitter_1 = require("./EventEmitter");
const Events_1 = require("./Events");
class Browser extends EventEmitter {
class Browser extends EventEmitter_1.EventEmitter {
constructor(connection, contextIds, ignoreHTTPSErrors, defaultViewport, process, closeCallback) {

@@ -192,3 +192,3 @@ super();

exports.Browser = Browser;
class BrowserContext extends EventEmitter {
class BrowserContext extends EventEmitter_1.EventEmitter {
constructor(connection, browser, contextId) {

@@ -195,0 +195,0 @@ super();

@@ -17,19 +17,41 @@ "use strict";

*/
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.BrowserFetcher = void 0;
const os = require("os");
const fs = require("fs");
const path = require("path");
const util = require("util");
const childProcess = require("child_process");
const https = require("https");
const http = require("http");
const extractZip = require("extract-zip");
const debug = require("debug");
const removeRecursive = require("rimraf");
const URL = require("url");
const ProxyAgent = require("https-proxy-agent");
const os = __importStar(require("os"));
const fs = __importStar(require("fs"));
const path = __importStar(require("path"));
const util = __importStar(require("util"));
const childProcess = __importStar(require("child_process"));
const https = __importStar(require("https"));
const http = __importStar(require("http"));
const extract_zip_1 = __importDefault(require("extract-zip"));
const debug_1 = __importDefault(require("debug"));
const rimraf_1 = __importDefault(require("rimraf"));
const URL = __importStar(require("url"));
const https_proxy_agent_1 = __importDefault(require("https-proxy-agent"));
const proxy_from_env_1 = require("proxy-from-env");
const helper_1 = require("./helper");
const debugFetcher = debug(`puppeteer:fetcher`);
const debugFetcher = debug_1.default(`puppeteer:fetcher`);
const downloadURLs = {

@@ -182,3 +204,3 @@ chrome: {

helper_1.assert(await existsAsync(folderPath), `Failed to remove: revision ${revision} is not downloaded`);
await new Promise((fulfill) => removeRecursive(folderPath, fulfill));
await new Promise((fulfill) => rimraf_1.default(folderPath, fulfill));
}

@@ -291,3 +313,3 @@ revisionInfo(revision) {

if (archivePath.endsWith('.zip'))
return extractZip(archivePath, { dir: folderPath });
return extract_zip_1.default(archivePath, { dir: folderPath });
else if (archivePath.endsWith('.tar.bz2'))

@@ -394,3 +416,3 @@ return extractTar(archivePath, folderPath);

};
options.agent = new ProxyAgent(proxyOptions);
options.agent = new https_proxy_agent_1.default(proxyOptions);
options.rejectUnauthorized = false;

@@ -397,0 +419,0 @@ }

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });

@@ -21,6 +24,6 @@ exports.CDPSession = exports.Connection = void 0;

const Events_1 = require("./Events");
const debug = require("debug");
const debugProtocol = debug('puppeteer:protocol');
const EventEmitter = require("events");
class Connection extends EventEmitter {
const debug_1 = __importDefault(require("debug"));
const debugProtocol = debug_1.default('puppeteer:protocol');
const EventEmitter_1 = require("./EventEmitter");
class Connection extends EventEmitter_1.EventEmitter {
constructor(url, transport, delay = 0) {

@@ -132,3 +135,3 @@ super();

exports.Connection = Connection;
class CDPSession extends EventEmitter {
class CDPSession extends EventEmitter_1.EventEmitter {
constructor(connection, targetType, sessionId) {

@@ -135,0 +138,0 @@ super();

@@ -17,5 +17,24 @@ "use strict";

*/
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DOMWorld = void 0;
const fs = require("fs");
const fs = __importStar(require("fs"));
const helper_1 = require("./helper");

@@ -457,4 +476,4 @@ const LifecycleWatcher_1 = require("./LifecycleWatcher");

*/
function pollMutation() {
const success = predicate(...args);
async function pollMutation() {
const success = await predicate(...args);
if (success)

@@ -464,3 +483,3 @@ return Promise.resolve(success);

const result = new Promise((x) => (fulfill = x));
const observer = new MutationObserver(() => {
const observer = new MutationObserver(async () => {
if (timedOut) {

@@ -470,3 +489,3 @@ observer.disconnect();

}
const success = predicate(...args);
const success = await predicate(...args);
if (success) {

@@ -484,8 +503,8 @@ observer.disconnect();

}
function pollRaf() {
async function pollRaf() {
let fulfill;
const result = new Promise((x) => (fulfill = x));
onRaf();
await onRaf();
return result;
function onRaf() {
async function onRaf() {
if (timedOut) {

@@ -495,3 +514,3 @@ fulfill();

}
const success = predicate(...args);
const success = await predicate(...args);
if (success)

@@ -503,8 +522,8 @@ fulfill(success);

}
function pollInterval(pollInterval) {
async function pollInterval(pollInterval) {
let fulfill;
const result = new Promise((x) => (fulfill = x));
onTimeout();
await onTimeout();
return result;
function onTimeout() {
async function onTimeout() {
if (timedOut) {

@@ -514,3 +533,3 @@ fulfill();

}
const success = predicate(...args);
const success = await predicate(...args);
if (success)

@@ -517,0 +536,0 @@ fulfill(success);

@@ -19,3 +19,3 @@ "use strict";

exports.Frame = exports.FrameManager = void 0;
const EventEmitter = require("events");
const EventEmitter_1 = require("./EventEmitter");
const helper_1 = require("./helper");

@@ -28,3 +28,3 @@ const Events_1 = require("./Events");

const UTILITY_WORLD_NAME = '__puppeteer_utility_world__';
class FrameManager extends EventEmitter {
class FrameManager extends EventEmitter_1.EventEmitter {
constructor(client, page, ignoreHTTPSErrors, timeoutSettings) {

@@ -31,0 +31,0 @@ super();

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });

@@ -20,4 +42,4 @@ exports.helper = exports.assert = exports.debugError = void 0;

const Errors_1 = require("./Errors");
const debug = require("debug");
const fs = require("fs");
const debug_1 = __importDefault(require("debug"));
const fs = __importStar(require("fs"));
const util_1 = require("util");

@@ -27,3 +49,3 @@ const openAsync = util_1.promisify(fs.open);

const closeAsync = util_1.promisify(fs.close);
exports.debugError = debug('puppeteer:error');
exports.debugError = debug_1.default('puppeteer:error');
function assert(value, message) {

@@ -30,0 +52,0 @@ if (!value)

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });

@@ -18,8 +37,8 @@ /**

*/
const os = require("os");
const path = require("path");
const http = require("http");
const https = require("https");
const URL = require("url");
const fs = require("fs");
const os = __importStar(require("os"));
const path = __importStar(require("path"));
const http = __importStar(require("http"));
const https = __importStar(require("https"));
const URL = __importStar(require("url"));
const fs = __importStar(require("fs"));
const BrowserFetcher_1 = require("./BrowserFetcher");

@@ -26,0 +45,0 @@ const Connection_1 = require("./Connection");

@@ -17,7 +17,29 @@ "use strict";

*/
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.BrowserRunner = void 0;
const debug = require("debug");
const removeFolder = require("rimraf");
const childProcess = require("child_process");
const debug_1 = __importDefault(require("debug"));
const rimraf_1 = __importDefault(require("rimraf"));
const childProcess = __importStar(require("child_process"));
const helper_1 = require("../helper");

@@ -27,6 +49,6 @@ const Connection_1 = require("../Connection");

const PipeTransport_1 = require("../PipeTransport");
const readline = require("readline");
const readline = __importStar(require("readline"));
const Errors_1 = require("../Errors");
const removeFolderAsync = helper_1.helper.promisify(removeFolder);
const debugLauncher = debug('puppeteer:launcher');
const removeFolderAsync = helper_1.helper.promisify(rimraf_1.default);
const debugLauncher = debug_1.default('puppeteer:launcher');
class BrowserRunner {

@@ -124,3 +146,3 @@ constructor(executablePath, processArguments, tempDirectory) {

try {
removeFolder.sync(this._tempDirectory);
rimraf_1.default.sync(this._tempDirectory);
}

@@ -127,0 +149,0 @@ catch (error) { }

@@ -19,8 +19,8 @@ "use strict";

*/
const EventEmitter = require("events");
const EventEmitter_1 = require("./EventEmitter");
const helper_1 = require("./helper");
const Events_1 = require("./Events");
const Request_1 = require("./Request");
const HTTPRequest_1 = require("./HTTPRequest");
const Response_1 = require("./Response");
class NetworkManager extends EventEmitter {
class NetworkManager extends EventEmitter_1.EventEmitter {
constructor(client, ignoreHTTPSErrors, frameManager) {

@@ -196,3 +196,3 @@ super();

: null;
const request = new Request_1.Request(this._client, frame, interceptionId, this._userRequestInterceptionEnabled, event, redirectChain);
const request = new HTTPRequest_1.HTTPRequest(this._client, frame, interceptionId, this._userRequestInterceptionEnabled, event, redirectChain);
this._requestIdToRequest.set(event.requestId, request);

@@ -199,0 +199,0 @@ this.emit(Events_1.Events.NetworkManager.Request, request);

@@ -17,7 +17,26 @@ "use strict";

*/
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Page = void 0;
const fs = require("fs");
const EventEmitter = require("events");
const mime = require("mime");
const fs = __importStar(require("fs"));
const EventEmitter_1 = require("./EventEmitter");
const mime = __importStar(require("mime"));
const Events_1 = require("./Events");

@@ -52,2 +71,11 @@ const Connection_1 = require("./Connection");

};
var VisionDeficiency;
(function (VisionDeficiency) {
VisionDeficiency["none"] = "none";
VisionDeficiency["achromatopsia"] = "achromatopsia";
VisionDeficiency["blurredVision"] = "blurredVision";
VisionDeficiency["deuteranopia"] = "deuteranopia";
VisionDeficiency["protanopia"] = "protanopia";
VisionDeficiency["tritanopia"] = "tritanopia";
})(VisionDeficiency || (VisionDeficiency = {}));
class ScreenshotTaskQueue {

@@ -63,3 +91,3 @@ constructor() {

}
class Page extends EventEmitter {
class Page extends EventEmitter_1.EventEmitter {
constructor(client, target, ignoreHTTPSErrors) {

@@ -582,2 +610,14 @@ super();

}
async emulateVisionDeficiency(type) {
const visionDeficiencies = new Set(Object.keys(VisionDeficiency));
try {
helper_1.assert(!type || visionDeficiencies.has(type), `Unsupported vision deficiency: ${type}`);
await this._client.send('Emulation.setEmulatedVisionDeficiency', {
type: type || 'none',
});
}
catch (error) {
throw error;
}
}
async setViewport(viewport) {

@@ -584,0 +624,0 @@ const needsReload = await this._emulationManager.emulateViewport(viewport);

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });

@@ -19,7 +41,7 @@ exports.Puppeteer = void 0;

*/
const Launcher_1 = require("./Launcher");
const Launcher_1 = __importDefault(require("./Launcher"));
const BrowserFetcher_1 = require("./BrowserFetcher");
const Errors_1 = require("./Errors");
const DeviceDescriptors_1 = require("./DeviceDescriptors");
const QueryHandler = require("./QueryHandler");
const QueryHandler = __importStar(require("./QueryHandler"));
class Puppeteer {

@@ -26,0 +48,0 @@ constructor(projectRoot, preferredRevision, isPuppeteerCore, productName) {

@@ -58,3 +58,4 @@ "use strict";

if ((this._targetInfo.type === 'page' ||
this._targetInfo.type === 'background_page') &&
this._targetInfo.type === 'background_page' ||
this._targetInfo.type === 'webview') &&
!this._pagePromise) {

@@ -84,3 +85,4 @@ this._pagePromise = this._sessionFactory().then((client) => Page_1.Page.create(client, this, this._ignoreHTTPSErrors, this._defaultViewport));

type === 'shared_worker' ||
type === 'browser')
type === 'browser' ||
type === 'webview')
return type;

@@ -87,0 +89,0 @@ return 'other';

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });

@@ -19,3 +22,3 @@ exports.WebSocketTransport = void 0;

*/
const NodeWebSocket = require("ws");
const ws_1 = __importDefault(require("ws"));
class WebSocketTransport {

@@ -39,3 +42,3 @@ constructor(ws) {

return new Promise((resolve, reject) => {
const ws = new NodeWebSocket(url, [], {
const ws = new ws_1.default(url, [], {
perMessageDeflate: false,

@@ -42,0 +45,0 @@ maxPayload: 256 * 1024 * 1024,

@@ -19,7 +19,7 @@ "use strict";

*/
const events_1 = require("events");
const EventEmitter_1 = require("./EventEmitter");
const helper_1 = require("./helper");
const ExecutionContext_1 = require("./ExecutionContext");
const JSHandle_1 = require("./JSHandle");
class Worker extends events_1.EventEmitter {
class Worker extends EventEmitter_1.EventEmitter {
constructor(client, url, consoleAPICalled, exceptionThrown) {

@@ -26,0 +26,0 @@ super();

{
"name": "puppeteer-core",
"version": "3.1.0",
"version": "3.2.0",
"description": "A high-level API to control headless Chrome over the DevTools Protocol",

@@ -31,3 +31,2 @@ "main": "index.js",

"apply-next-version": "node utils/apply_next_version.js",
"test-types": "node utils/doclint/generate_types && tsc --version && tsc -p utils/doclint/generate_types/test/",
"update-protocol-d-ts": "node utils/protocol-types-generator update",

@@ -52,2 +51,3 @@ "compare-protocol-d-ts": "node utils/protocol-types-generator compare",

"mime": "^2.0.3",
"mitt": "^2.0.1",
"progress": "^2.0.1",

@@ -54,0 +54,0 @@ "proxy-from-env": "^1.0.0",

@@ -9,3 +9,3 @@ # Puppeteer

###### [API](https://github.com/puppeteer/puppeteer/blob/v3.1.0/docs/api.md) | [FAQ](#faq) | [Contributing](https://github.com/puppeteer/puppeteer/blob/master/CONTRIBUTING.md) | [Troubleshooting](https://github.com/puppeteer/puppeteer/blob/master/docs/troubleshooting.md)
###### [API](https://github.com/puppeteer/puppeteer/blob/v3.2.0/docs/api.md) | [FAQ](#faq) | [Contributing](https://github.com/puppeteer/puppeteer/blob/master/CONTRIBUTING.md) | [Troubleshooting](https://github.com/puppeteer/puppeteer/blob/master/docs/troubleshooting.md)

@@ -41,3 +41,3 @@ > Puppeteer is a Node library which provides a high-level API to control Chrome or Chromium over the [DevTools Protocol](https://chromedevtools.github.io/devtools-protocol/). Puppeteer runs [headless](https://developers.google.com/web/updates/2017/04/headless-chrome) by default, but can be configured to run full (non-headless) Chrome or Chromium.

Note: When you install Puppeteer, it downloads a recent version of Chromium (~170MB Mac, ~282MB Linux, ~280MB Win) that is guaranteed to work with the API. To skip the download, or to download a different browser, see [Environment variables](https://github.com/puppeteer/puppeteer/blob/v3.1.0/docs/api.md#environment-variables).
Note: When you install Puppeteer, it downloads a recent version of Chromium (~170MB Mac, ~282MB Linux, ~280MB Win) that is guaranteed to work with the API. To skip the download, or to download a different browser, see [Environment variables](https://github.com/puppeteer/puppeteer/blob/v3.2.0/docs/api.md#environment-variables).

@@ -68,3 +68,3 @@

Puppeteer will be familiar to people using other browser testing frameworks. You create an instance
of `Browser`, open pages, and then manipulate them with [Puppeteer's API](https://github.com/puppeteer/puppeteer/blob/v3.1.0/docs/api.md#).
of `Browser`, open pages, and then manipulate them with [Puppeteer's API](https://github.com/puppeteer/puppeteer/blob/v3.2.0/docs/api.md#).

@@ -94,3 +94,3 @@ **Example** - navigating to https://example.com and saving a screenshot as *example.png*:

Puppeteer sets an initial page size to 800×600px, which defines the screenshot size. The page size can be customized with [`Page.setViewport()`](https://github.com/puppeteer/puppeteer/blob/v3.1.0/docs/api.md#pagesetviewportviewport).
Puppeteer sets an initial page size to 800×600px, which defines the screenshot size. The page size can be customized with [`Page.setViewport()`](https://github.com/puppeteer/puppeteer/blob/v3.2.0/docs/api.md#pagesetviewportviewport).

@@ -120,3 +120,3 @@ **Example** - create a PDF.

See [`Page.pdf()`](https://github.com/puppeteer/puppeteer/blob/v3.1.0/docs/api.md#pagepdfoptions) for more information about creating pdfs.
See [`Page.pdf()`](https://github.com/puppeteer/puppeteer/blob/v3.2.0/docs/api.md#pagepdfoptions) for more information about creating pdfs.

@@ -156,3 +156,3 @@ **Example** - evaluate script in the context of the page

See [`Page.evaluate()`](https://github.com/puppeteer/puppeteer/blob/v3.1.0/docs/api.md#pageevaluatepagefunction-args) for more information on `evaluate` and related methods like `evaluateOnNewDocument` and `exposeFunction`.
See [`Page.evaluate()`](https://github.com/puppeteer/puppeteer/blob/v3.2.0/docs/api.md#pageevaluatepagefunction-args) for more information on `evaluate` and related methods like `evaluateOnNewDocument` and `exposeFunction`.

@@ -166,3 +166,3 @@ <!-- [END getstarted] -->

Puppeteer launches Chromium in [headless mode](https://developers.google.com/web/updates/2017/04/headless-chrome). To launch a full version of Chromium, set the [`headless` option](https://github.com/puppeteer/puppeteer/blob/v3.1.0/docs/api.md#puppeteerlaunchoptions) when launching a browser:
Puppeteer launches Chromium in [headless mode](https://developers.google.com/web/updates/2017/04/headless-chrome). To launch a full version of Chromium, set the [`headless` option](https://github.com/puppeteer/puppeteer/blob/v3.2.0/docs/api.md#puppeteerlaunchoptions) when launching a browser:

@@ -183,3 +183,3 @@ ```js

You can also use Puppeteer with Firefox Nightly (experimental support). See [`Puppeteer.launch()`](https://github.com/puppeteer/puppeteer/blob/v3.1.0/docs/api.md#puppeteerlaunchoptions) for more information.
You can also use Puppeteer with Firefox Nightly (experimental support). See [`Puppeteer.launch()`](https://github.com/puppeteer/puppeteer/blob/v3.2.0/docs/api.md#puppeteerlaunchoptions) for more information.

@@ -196,3 +196,3 @@ See [`this article`](https://www.howtogeek.com/202825/what%E2%80%99s-the-difference-between-chromium-and-chrome/) for a description of the differences between Chromium and Chrome. [`This article`](https://chromium.googlesource.com/chromium/src/+/master/docs/chromium_browser_vs_google_chrome.md) describes some differences for Linux users.

- [API Documentation](https://github.com/puppeteer/puppeteer/blob/v3.1.0/docs/api.md)
- [API Documentation](https://github.com/puppeteer/puppeteer/blob/v3.2.0/docs/api.md)
- [Examples](https://github.com/puppeteer/puppeteer/tree/master/examples/)

@@ -324,3 +324,3 @@ - [Community list of Puppeteer resources](https://github.com/transitive-bullshit/awesome-puppeteer)

From Puppeteer v2.1.0 onwards you can specify [`puppeteer.launch({product: 'firefox'})`](https://github.com/puppeteer/puppeteer/blob/v3.1.0/docs/api.md#puppeteerlaunchoptions) to run your Puppeteer scripts in Firefox Nightly, without any additional custom patches. While [an older experiment](https://www.npmjs.com/package/puppeteer-firefox) required a patched version of Firefox, [the current approach](https://wiki.mozilla.org/Remote) works with “stock” Firefox.
From Puppeteer v2.1.0 onwards you can specify [`puppeteer.launch({product: 'firefox'})`](https://github.com/puppeteer/puppeteer/blob/v3.2.0/docs/api.md#puppeteerlaunchoptions) to run your Puppeteer scripts in Firefox Nightly, without any additional custom patches. While [an older experiment](https://www.npmjs.com/package/puppeteer-firefox) required a patched version of Firefox, [the current approach](https://wiki.mozilla.org/Remote) works with “stock” Firefox.

@@ -421,3 +421,3 @@ We will continue to collaborate with other browser vendors to bring Puppeteer support to browsers such as Safari.

* Puppeteer is bundled with Chromium — not Chrome — and so by default, it inherits all of [Chromium's media-related limitations](https://www.chromium.org/audio-video). This means that Puppeteer does not support licensed formats such as AAC or H.264. (However, it is possible to force Puppeteer to use a separately-installed version Chrome instead of Chromium via the [`executablePath` option to `puppeteer.launch`](https://github.com/puppeteer/puppeteer/blob/v3.1.0/docs/api.md#puppeteerlaunchoptions). You should only use this configuration if you need an official release of Chrome that supports these media formats.)
* Puppeteer is bundled with Chromium — not Chrome — and so by default, it inherits all of [Chromium's media-related limitations](https://www.chromium.org/audio-video). This means that Puppeteer does not support licensed formats such as AAC or H.264. (However, it is possible to force Puppeteer to use a separately-installed version Chrome instead of Chromium via the [`executablePath` option to `puppeteer.launch`](https://github.com/puppeteer/puppeteer/blob/v3.2.0/docs/api.md#puppeteerlaunchoptions). You should only use this configuration if you need an official release of Chrome that supports these media formats.)
* Since Puppeteer (in all configurations) controls a desktop version of Chromium/Chrome, features that are only supported by the mobile version of Chrome are not supported. This means that Puppeteer [does not support HTTP Live Streaming (HLS)](https://caniuse.com/#feat=http-live-streaming).

@@ -424,0 +424,0 @@

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc