Stuck at "Chrome port open!"
AlexAltea opened this issue ยท 10 comments
I've been using chrome-headless-render-pdf
every month without an issue for the past 5 years... until today.
$ chrome-headless-render-pdf --url http://google.com --pdf test.pdf --chrome-binary 'C:\Program Files\Google\Chrome\Application\chrome.exe'
Using C:\Program Files\Google\Chrome\Application\chrome.exe
Waiting for chrome to became available
Chrome port open!
Chrome port open!
Chrome port open!
Chrome port open!
Chrome port open!
[...]
My current environment:
- Windows: Version 19044.2486
- Chrome: Version 110.0.5481.77 (Official Build) (64-bit)
I've updated to from chrome-headless-render-pdf@v1.9.0
to latest v1.10.0
, but same issue exists.
I suspect the issue might be within Chrome itself which updated recently.
Updating to Chrome v110.0.5481.78 (Official Build) (64-bit) still does not fix the issue.
Temporary workaround: Use Microsoft Edge to render documents
$ chrome-headless-render-pdf --url http://google.com --pdf test.pdf --chrome-binary 'C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe'
Using C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe
Waiting for chrome to became available
Chrome port open!
Connected to HeadlessEdg/109.0.1518.70, protocol 1.3
Opening http://google.com
Wait for load took 170ms
Wait for js execution took 1ms
Wait for animations took 102ms
Saved test.pdf
Same problem has started yesterday. I also tested on ubuntu beside the windows. same sympthoms.
Edge workaround does not work for me :(
@AlexAltea did you find a solution?
I'll try to reproduce this on Monday
@AlexAltea did you find a solution?
No I haven't. Currently my Edge version (which still works) is 109.0.1518.70 (Official build) (64-bit).
However, I'm getting update reminders so I will try to keep my computer/browser running until this issue is fixed.
Otherwise my invoicing system will break. ๐
I'll try to reproduce this on Monday
@Szpadel Thank you very much. Your library is really helpful.
@Szpadel
Hello, I think that I found the solution.
It seems that CDP can't connect to debug port of chrome without any starter URL. So if you add any URL at spawn time, it will be ok.
you can fix with the code below. I have chosen about:blank as URL.
const commandLineOptions = [
'--headless',
--remote-debugging-port=${this.port}
,
'--disable-gpu',
...this.options.chromeOptions,
'about:blank'
];
@AlexAltea if you want quick fix. just copy the uncompiled index.js from node_molues\chrome-headless-render-pdf\index.js to node_molues\chrome-headless-render-pdf\dist folder. And add ,'about:blank' to commandLineOptions in the file like above.
Note: my fix is just tested under ubuntu.
@fethigurcan you could also pass it in chromeOptions
:)
That way you don't need to alter source code
you are right. it is surely more simple workaround. thanks
the way that I dig the problem came to that solution though :))
Just releases 1.11.0
that should resolve that issue, let me know if you still have any issues
@Szpadel I'm on mentioned version 1.11.0
and still having this issue. Only on a small subset of hosts, even though they should be configured the same way, which is very interesting. They all use the same chromium version, same OS, same patch level of the OS, i cannot explain why this only happens on some hosts.
The hotfix adding --chrome-option=about:blank
seems to work though, so it seems as though this fix is maybe not released yet?