xxxxxxxxxx
async () => {
const browser = await puppeteer.launch({
product: 'chrome',
args: ['--no-sandbox', '--window-size=1920,1080'],
defaultViewport: {
width: 1920,
height: 1080,
},
headless: true,
dumpio: true,
});
const context = browser.defaultBrowserContext();
await context.overridePermissions('YOUR URL, ['clipboard-read', 'clipboard-write', clipboard-sanitized-write]);
const page = await browser.newPage();
await page.authenticate({ username: user, password: password });
xxxxxxxxxx
// puppeteer version 14.3.0
// npm i puppeteer@14.3.0
await context._connection.send('Browser.grantPermissions', {
origin: url.origin,
browserContextId: this._id || undefined,
permissions: ['clipboardReadWrite', 'clipboardSanitizedWrite'],
});
const page = await context.newPage()
await page.goto(url.origin)
const state = await page.evaluate(async () => {
return (await navigator.permissions.query({name: 'clipboard-write'})).state;
});
console.log(state) // granted