[Bug]: Timeout attempting to navigate to a page (local file) using FireFox
See original GitHub issueBug description
Running the code below on CentOS 7 times out trying to go to the specified page. It never prints βwent to URLβ. The argument that I am providing as the input URL is for a local file using a fully qualified path (βfile:///vmshare/wkhtmltopdf-poc/hello.htmlβ).
If I try the same thing using an Internet URL (e.g. βhttps://google.comβ) then the code proceeds and does not time out.
'use strict';
// argv[0] = the node binary
// argv[1] = this script
// ... additional args on commandline.
if (process.argv.length < 4 || process.argv.length > 5) {
console.error(
'Must supply either 2 or 3 arguments:\n' +
' 1. Input URL\n' +
' 2. Output file name (pdf)\n' +
' 3. Optional page format (e.g. "letter" or "A4")'
);
process.exit(1);
}
const inputURL = process.argv[2];
const outputFile = process.argv[3];
const pageFormat = process.argv[4] || 'A4';
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({ product: 'firefox' });
const page = await browser.newPage();
console.log('got page');
await page.goto(inputURL);
console.log('went to URL');
await page.waitForNetworkIdle();
await page.evaluate('document.fonts.ready');
await page.pdf({
path: outputFile,
format: pageFormat,
});
await browser.close();
})();
When I run it with DEBUG=puppeteer.*
β¦, I get the following output
puppeteer:fetcher [
puppeteer:fetcher {
puppeteer:fetcher revision: '105.0a1',
puppeteer:fetcher executablePath: '/home/stevejorgensen/work/hub2/commonlib/hub-node-utils/node_modules/puppeteer/.local-firefox/linux-105.0a1/firefox/firefox',
puppeteer:fetcher folderPath: '/home/stevejorgensen/work/hub2/commonlib/hub-node-utils/node_modules/puppeteer/.local-firefox/linux-105.0a1',
puppeteer:fetcher local: true,
puppeteer:fetcher url: 'https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/firefox-105.0a1.en-US.linux-x86_64.tar.bz2',
puppeteer:fetcher product: 'firefox'
puppeteer:fetcher }
puppeteer:fetcher ] +0ms
puppeteer:launcher [
puppeteer:launcher 'Calling /home/stevejorgensen/work/hub2/commonlib/hub-node-utils/node_modules/puppeteer/.local-firefox/linux-105.0a1/firefox/firefox --no-remote --headless about:blank --remote-debugging-port=0 --profile /tmp/puppeteer_dev_firefox_profile-BybfPa'
puppeteer:launcher ] +0ms
puppeteer:protocol:SEND βΊ [
puppeteer:protocol:SEND βΊ '{"method":"Target.setDiscoverTargets","params":{"discover":true},"id":1}'
puppeteer:protocol:SEND βΊ ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"7e74aa5c-f679-4a57-b411-3f7ae4c6b1df","type":"page","title":"","url":"about:blank","attached":false,"browserContextId":null}}}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"0e643a6c-a6f7-49a0-ae36-817ec9a4c8ad","type":"browser","attached":true}}}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:RECV β [ '{"id":1,"result":{}}' ] +0ms
puppeteer:protocol:SEND βΊ [
puppeteer:protocol:SEND βΊ '{"method":"Target.createTarget","params":{"url":"about:blank"},"id":2}'
puppeteer:protocol:SEND βΊ ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"26d81a62-c0eb-47cf-889e-4b60350f20d3","type":"page","title":"","url":"about:blank","attached":false,"browserContextId":null}}}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"id":2,"result":{"targetId":"26d81a62-c0eb-47cf-889e-4b60350f20d3"}}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:SEND βΊ [
puppeteer:protocol:SEND βΊ '{"method":"Target.attachToTarget","params":{"targetId":"26d81a62-c0eb-47cf-889e-4b60350f20d3","flatten":true},"id":3}'
puppeteer:protocol:SEND βΊ ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"method":"Target.attachedToTarget","params":{"targetInfo":{"targetId":"26d81a62-c0eb-47cf-889e-4b60350f20d3","type":"page","title":"","url":"about:blank","attached":false,"browserContextId":null},"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5","waitingForDebugger":false}}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"id":3,"result":{"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5"}}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:SEND βΊ [
puppeteer:protocol:SEND βΊ '{"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5","method":"Page.enable","id":4}'
puppeteer:protocol:SEND βΊ ] +0ms
puppeteer:protocol:SEND βΊ [
puppeteer:protocol:SEND βΊ '{"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5","method":"Page.getFrameTree","id":5}'
puppeteer:protocol:SEND βΊ ] +0ms
puppeteer:protocol:SEND βΊ [
puppeteer:protocol:SEND βΊ '{"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5","method":"Performance.enable","id":6}'
puppeteer:protocol:SEND βΊ ] +0ms
puppeteer:protocol:SEND βΊ [
puppeteer:protocol:SEND βΊ '{"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5","method":"Log.enable","id":7}'
puppeteer:protocol:SEND βΊ ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"id":4,"result":{},"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5"}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"method":"Target.receivedMessageFromTarget","params":{"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5","message":"{\\"id\\":4,\\"result\\":{}}"}}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"id":5,"result":{"frameTree":{"frame":{"id":"12","url":"about:blank","securityOrigin":null,"mimeType":null}}},"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5"}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"method":"Target.receivedMessageFromTarget","params":{"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5","message":"{\\"id\\":5,\\"result\\":{\\"frameTree\\":{\\"frame\\":{\\"id\\":\\"12\\",\\"url\\":\\"about:blank\\",\\"securityOrigin\\":null,\\"mimeType\\":null}}}}"}}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"id":6,"result":{},"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5"}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"method":"Target.receivedMessageFromTarget","params":{"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5","message":"{\\"id\\":6,\\"result\\":{}}"}}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"id":7,"result":{},"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5"}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"method":"Target.receivedMessageFromTarget","params":{"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5","message":"{\\"id\\":7,\\"result\\":{}}"}}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:SEND βΊ [
puppeteer:protocol:SEND βΊ '{"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5","method":"Page.setLifecycleEventsEnabled","params":{"enabled":true},"id":8}'
puppeteer:protocol:SEND βΊ ] +0ms
puppeteer:protocol:SEND βΊ [
puppeteer:protocol:SEND βΊ '{"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5","method":"Runtime.enable","id":9}'
puppeteer:protocol:SEND βΊ ] +0ms
puppeteer:protocol:SEND βΊ [
puppeteer:protocol:SEND βΊ '{"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5","method":"Network.enable","id":10}'
puppeteer:protocol:SEND βΊ ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"id":10,"result":{},"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5"}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"method":"Target.receivedMessageFromTarget","params":{"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5","message":"{\\"id\\":10,\\"result\\":{}}"}}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"id":8,"result":{},"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5"}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"method":"Target.receivedMessageFromTarget","params":{"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5","message":"{\\"id\\":8,\\"result\\":{}}"}}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"id":9,"result":{},"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5"}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"method":"Target.receivedMessageFromTarget","params":{"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5","message":"{\\"id\\":9,\\"result\\":{}}"}}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"method":"Runtime.executionContextCreated","params":{"context":{"id":1,"origin":"null","name":"","auxData":{"isDefault":true,"frameId":"12","type":"default"}}},"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5"}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"method":"Target.receivedMessageFromTarget","params":{"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5","message":"{\\"method\\":\\"Runtime.executionContextCreated\\",\\"params\\":{\\"context\\":{\\"id\\":1,\\"origin\\":\\"null\\",\\"name\\":\\"\\",\\"auxData\\":{\\"isDefault\\":true,\\"frameId\\":\\"12\\",\\"type\\":\\"default\\"}}}}"}}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:SEND βΊ [
puppeteer:protocol:SEND βΊ '{"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5","method":"Page.addScriptToEvaluateOnNewDocument","params":{"source":"//# sourceURL=pptr://__puppeteer_evaluation_script__","worldName":"__puppeteer_utility_world__"},"id":11}'
puppeteer:protocol:SEND βΊ ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"id":11,"result":{"identifier":"21200b7f-30b7-4604-b6b1-2fbb22a5e105"},"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5"}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"method":"Target.receivedMessageFromTarget","params":{"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5","message":"{\\"id\\":11,\\"result\\":{\\"identifier\\":\\"21200b7f-30b7-4604-b6b1-2fbb22a5e105\\"}}"}}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:SEND βΊ [
puppeteer:protocol:SEND βΊ '{"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5","method":"Page.createIsolatedWorld","params":{"frameId":"12","worldName":"__puppeteer_utility_world__","grantUniveralAccess":true},"id":12}'
puppeteer:protocol:SEND βΊ ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"method":"Runtime.executionContextCreated","params":{"context":{"id":2,"origin":"null","name":"__puppeteer_utility_world__","auxData":{"isDefault":false,"frameId":"12","type":"isolated"}}},"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5"}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"method":"Target.receivedMessageFromTarget","params":{"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5","message":"{\\"method\\":\\"Runtime.executionContextCreated\\",\\"params\\":{\\"context\\":{\\"id\\":2,\\"origin\\":\\"null\\",\\"name\\":\\"__puppeteer_utility_world__\\",\\"auxData\\":{\\"isDefault\\":false,\\"frameId\\":\\"12\\",\\"type\\":\\"isolated\\"}}}}"}}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"id":12,"result":{"executionContextId":2},"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5"}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"method":"Target.receivedMessageFromTarget","params":{"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5","message":"{\\"id\\":12,\\"result\\":{\\"executionContextId\\":2}}"}}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:SEND βΊ [
puppeteer:protocol:SEND βΊ '{"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5","method":"Emulation.setDeviceMetricsOverride","params":{"mobile":false,"width":800,"height":600,"deviceScaleFactor":1,"screenOrientation":{"angle":0,"type":"portraitPrimary"}},"id":13}'
puppeteer:protocol:SEND βΊ ] +0ms
puppeteer:protocol:SEND βΊ [
puppeteer:protocol:SEND βΊ '{"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5","method":"Emulation.setTouchEmulationEnabled","params":{"enabled":false},"id":14}'
puppeteer:protocol:SEND βΊ ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"id":14,"result":{},"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5"}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"method":"Target.receivedMessageFromTarget","params":{"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5","message":"{\\"id\\":14,\\"result\\":{}}"}}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"id":13,"result":{},"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5"}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"method":"Target.receivedMessageFromTarget","params":{"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5","message":"{\\"id\\":13,\\"result\\":{}}"}}'
puppeteer:protocol:RECV β ] +0ms
got page
puppeteer:protocol:SEND βΊ [
puppeteer:protocol:SEND βΊ '{"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5","method":"Page.navigate","params":{"url":"file:///vmshare/wkhtmltopdf-poc/hello.html","frameId":"12"},"id":15}'
puppeteer:protocol:SEND βΊ ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"id":15,"result":{"frameId":"12","loaderId":"0f272b19-ba56-4fbb-8c25-ddebd10fac24"},"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5"}'
puppeteer:protocol:RECV β ] +0ms
puppeteer:protocol:RECV β [
puppeteer:protocol:RECV β '{"method":"Target.receivedMessageFromTarget","params":{"sessionId":"a53ebd61-cd63-445a-95d8-022473ab5af5","message":"{\\"id\\":15,\\"result\\":{\\"frameId\\":\\"12\\",\\"loaderId\\":\\"0f272b19-ba56-4fbb-8c25-ddebd10fac24\\"}}"}}'
puppeteer:protocol:RECV β ] +0ms
/home/stevejorgensen/work/hub2/commonlib/hub-node-utils/node_modules/puppeteer/lib/cjs/puppeteer/common/LifecycleWatcher.js:163
return new Errors_js_1.TimeoutError(errorMessage);
^
TimeoutError: Navigation timeout of 30000 ms exceeded
at LifecycleWatcher._LifecycleWatcher_createTimeoutPromise (/home/stevejorgensen/work/hub2/commonlib/hub-node-utils/node_modules/puppeteer/lib/cjs/puppeteer/common/LifecycleWatcher.js:163:12)
Puppeteer version
16.1.1
Node.js version
16.9.1
npm version
8.3.0
What operating system are you seeing the problem on?
Linux
Relevant log output
No response
Issue Analytics
- State:
- Created a year ago
- Reactions:1
- Comments:7
Top Results From Across the Web
I'm getting "The connection has timed out" when I try to ...
I'm getting "The connection has timed out" when I try to connect to one specific website. I can connect to the site using...
Read more >How to Fix the ERR_CONNECTION_TIMED_OUT Error - Kinsta
In Mozilla Firefox the error will show as βThe connection has timed out.β The server at domain.com is taking too long to respond....
Read more >11 Ways to Fix the ERR_CONNECTION_TIMED_OUT Error
The message "The webpage not available" ERR_CONNECTION_TIMED_OUT will appear on the screen. This error usually occurs when there is an issueΒ ...
Read more >Microsoft Edge Browser Policy Documentation
You can use these policies to configure how Microsoft Edge runs in your ... If users try to navigate to an untrusted site...
Read more >python - Timeout error when downloading .html files from urls
Well, since it doesn't happen to you most of the time, I can infer that your network is probably slow. Try to set...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Letβs keep it open so that itβs easier for users who might encounter this to find it.
When I have time, I might try to work around this for myself by serving files from the local filesystem through a Web server dedicated to that purpose on a dedicated port number. Iβm just sharing that here as a thought for anyone else who needs to work around this issue.