Tackling net::ERR_NAME_NOT_RESOLVED and timeout error on browser object creation when using Puppeteer
+1
−0
Used to work with PhantomJS. Want to upgrade to Puppeteer. Started with some code:
"use strict";
const puppeteer = require("puppeteer");
const capture = async () => {
let browser;
try {
console.time('myTimer');
console.info("Opening browser ...");
const browser = await puppeteer.launch({
headless:true,'ignoreHTTPSErrors':true,devtools:false
});
const page = await browser.newPage();
page.on('console', (msg) => console.log('DEBUG:', msg.text()) );
console.info("browser instance created.");
await page.evaluate(() => console.log(`URL="${location.href}".`));
await page.goto("https://www.chunkbase.com/apps/seed-map");
// await page.goto("https://checkip.amazonaws.com/");
await page.evaluate(() => console.log(`URL="${location.href}".`));
console.info("getting webpage dimensions.");
const getDimensions = await page.evaluate(() => {
return {
pxH: document.documentElement.clientHeight,
pxW: document.documentElement.clientWidth,
scale: window.devicePixelRatio
};
});
console.info("Dimensions: ", getDimensions);
console.info("capturing.");
await page.screenshot({ path:"D:/screenshot.png", type:"png", fullPage:false });
console.timeEnd('myTimer');
} catch (err) {
console.warn("Could not create a browser instance: ", err);
return;
} finally {
await browser.close();
}
};
capture();
Output:
Opening browser ...
browser instance created.
DEBUG: URL="about:blank".
DEBUG: [.WebGL-000022F60095A300]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels
DEBUG: fun-hooks: referenced 'adpod' but it was never created
DEBUG: %cVideoManagerComponent::noStickyPlaylistOrSekindo color: #999; font-weight: bold; JSHandle@object
DEBUG: %cBaseDynamicAdsInjector::_logDensityInfo color: #999; font-weight: bold; JSHandle@object
DEBUG: fun-hooks: referenced 'checkAdUnitSetup' but it was never created
DEBUG: fun-hooks: referenced 'checkAdUnitSetup' but it was never created
DEBUG: fun-hooks: referenced 'checkAdUnitSetup' but it was never created
DEBUG: Failed to load resource: net::ERR_NAME_NOT_RESOLVED
DEBUG: Failed to load resource: net::ERR_NAME_NOT_RESOLVED
DEBUG: Failed to load resource: net::ERR_NAME_NOT_RESOLVED
DEBUG: Failed to load resource: net::ERR_NAME_NOT_RESOLVED
DEBUG: Failed to load resource: net::ERR_NAME_NOT_RESOLVED
DEBUG: Failed to load resource: net::ERR_NAME_NOT_RESOLVED
DEBUG: Failed to load resource: net::ERR_NAME_NOT_RESOLVED
DEBUG: Failed to load resource: net::ERR_NAME_NOT_RESOLVED
DEBUG: Failed to load resource: net::ERR_NAME_NOT_RESOLVED
DEBUG: Failed to load resource: net::ERR_NAME_NOT_RESOLVED
DEBUG: Failed to load resource: net::ERR_NAME_NOT_RESOLVED
DEBUG: Failed to load resource: net::ERR_NAME_NOT_RESOLVED
DEBUG: Failed to load resource: net::ERR_NAME_NOT_RESOLVED
DEBUG: Failed to load resource: net::ERR_NAME_NOT_RESOLVED
Could not create a browser instance: TimeoutError: Navigation timeout of 30000 ms exceeded
at ~\node_modules\puppeteer\lib\cjs\puppeteer\common\LifecycleWatcher.js:108:111 ~\scripts\chunkbase.js:51
await browser.close();
^
TypeError: Cannot read properties of undefined (reading 'close')
Notes:
- With the current
page.goto
code Puppeteer- Throws a lot of output.
- Times out after 30 seconds.
- The page dimensions are skipped.
- The screen capture never occurs.
- If I set
headless
to false, the page renders for the most part. Some parts dont load.
- If I swap around the URLs in the
page.goto
Puppeteer- works fast without a ton of
DEBUG
s in output. - The page dimensions are calculated.
- The screen capture occurs.
- works fast without a ton of
Questions:
- What's the proper way to initialize
browser
to correct the.close()
error within the try-catch? - How can I troubleshoot this further? Especially where these
net::ERR_NAME_NOT_RESOLVED
errors come from (is it DNS-related)?
Open to all sorts of suggestions, on-line reading material, etc.
Thanks.
1 comment thread