🖥
puppeteer (node.js) のスクリプト例 – BASIC認証 + テキスト入力 + ボタンクリック + スクリーンショット撮
// package.json
//
// {
// "dependencies": {
// "puppeteer": "^21.1.1"
// },
// "type": "module"
// }
// $ node example.js
import puppeteer from 'puppeteer'
async function sleep(delay) {
return new Promise((resolve) => setTimeout(resolve, delay))
}
(async () => {
const browser = await puppeteer.launch({headless: false})
const page = await browser.newPage()
const url = 'https://example.com'
//Basic認証のAuthorizationヘッダーを設定
const BASIC_AUTH_USERNAME = 'username'
const BASIC_AUTH_PASSWORD = 'password'
await page.setExtraHTTPHeaders({
Authorization: `Basic ${new Buffer(`${BASIC_AUTH_USERNAME}:${BASIC_AUTH_PASSWORD}`).toString('base64')}`,
})
const response = await page.goto(url, { waitUntil: ['domcontentloaded'], timeout: 60000 })
if (response) {
const status = response.status()
const statusText = response.statusText()
console.log(status)
console.log(statusText)
await sleep(1000)
await page.type("[id='email']", 'example@example.com')
await page.type("[id='password']", '************')
await sleep(1000)
await page.screenshot({path: './step1.png'})
await page.click("[id='submit']")
await sleep(1000)
await page.screenshot({path: './step2.png'})
}
await browser.close()
})()
チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。
公開日時
2023-09-06
Discussion