Code from:
puppeteer/puppeteer#1505 (comment)
Transformed to async function for practicing.
Code from:
puppeteer/puppeteer#1505 (comment)
Transformed to async function for practicing.
const puppeteer = require("puppeteer"); // v0.13.0 | |
const URL = "https://en.wikipedia.org/api/rest_v1/page/html/Maybeshewill"; | |
goToPageAndClose(URL).catch(error => console.log("Error: ", error)); | |
async function goToPageAndClose(url) { | |
const browser = await puppeteer.launch(); | |
const page = await browser.newPage(); | |
console.log(`page#goto(${URL})`); | |
const navigation = page.goto(URL, { | |
timeout: 5000, | |
waitUntil: "networkidle2" | |
}); | |
// Defer closing the page so that navigation can start. | |
await nextTick(); | |
console.log("page#close()"); | |
await page.close(); | |
console.log("browser#close()"); | |
// Close the browser so that the Node.js process can | |
// exit. | |
browser.close(); | |
return navigation; | |
} | |
function nextTick() { | |
return new Promise(res => process.nextTick(res)); | |
} |
const puppeteer = require('puppeteer') // v0.13.0 | |
const URL = 'https://en.wikipedia.org/api/rest_v1/page/html/Maybeshewill' | |
function gotoAndClose(browser) { | |
browser.newPage() | |
.then((page) => { | |
console.log(`page#goto(${URL})`) | |
// Defer closing the page so that navigation can start. | |
process.nextTick(() => { | |
console.log('page#close()') | |
page.close() | |
.then(() => { | |
console.log('browser#close()') | |
// Close the browser so that the Node.js process can | |
// exit. | |
browser.close() | |
}) | |
}) | |
return page.goto(URL, { | |
timeout: 5000, | |
waitUntil: 'networkidle2' | |
}) | |
}) | |
.catch((error) => console.log('Error: ', error)) | |
} | |
puppeteer.launch() | |
.then(gotoAndClose) |