Headless Firefox doesn't work
I try to make Firefox' headless mode work but so far to no avail. I tested with versions 67b (Windows) and 66 (Linux).
First try: Windows 10. firefox -screenshot FILENAME URL (or several variations of this command) opens several invisible firefox processes but the shell returns immediately. The processes keep running until I kill them. No screenshot is made.
Second try: Ubuntu. The above command is answered by "You are running in headless mode" ... but that's it, no screenshot is generated. I have write access to the directory, I tried the -no-remote switch.
Any ideas what I'm doing wrong?
Изабрано решење
You did delete the content of the profile folder because it is quite possible that some settings aren't compatible with headless mode? I needed a fresh profile to make Firefox close after running this command (only a limited set of files is created), so best is not to use a profile that has been used. I also needed the 'cd' command to make sure that the screenshot was saved to the correct folder. You can check places.sqlite to see whether the website is visited. If you monitor the profile folder while the command is running then you should see files getting modified.
Прочитајте овај одговор са објашњењем 👍 1Сви одговори (8)
Hi wortwart, I ran this and got a cursor with a circling blue arrow and then all quiet. I can't figure out where the image is, or whether it actually was saved. Processes remained in memory.
"C:\Program Files\Firefox Developer Edition\firefox.exe" -headless --screenshot test.png https://www.userchrome.org/
Since this may be an issue with the MDN documentation, could I suggest trying their forum over here:
https://discourse.mozilla.org/c/mdn
(You can log in using a Github account.)
Thank you for your response! I contacted MDN: https://discourse.mozilla.org/t/issues-with-firefox-headless/38553
I got it to work on Linux. I'm using a clean profile and use the Profile Manager to create a profile (test-ss) and then remove all files in this profile so that Firefox can initialize the profile for headless mode. To ensure the correct download folder is set I do a 'cd' to the default Downloads folder because the screenshot is saved to the active folder and you need write permission. I launch Firefox by specifying the full path and use the -P <profile> switch to launch Firefox with the test-ss profile. On Windows you can create a .cmd file with these commands.
cd ~/Downloads /usr/local/mozilla/firefox-RE/firefox -screenshot test.png https://support.mozilla.org/en-US/questions/firefox -P test-ss -no-remote
Измењено
Thank you, cor-el! I just tried your exact syntax with the Firefox path adopted to my systems (/usr/bin/firefox on Ubuntu and "\Program Files (x86)\Mozilla Firefox\firefox.exe" on Windows 10) but the results were the same as described above. Firefox works fine otherwise on both systems.
Измењено
Одабрано решење
You did delete the content of the profile folder because it is quite possible that some settings aren't compatible with headless mode? I needed a fresh profile to make Firefox close after running this command (only a limited set of files is created), so best is not to use a profile that has been used. I also needed the 'cd' command to make sure that the screenshot was saved to the correct folder. You can check places.sqlite to see whether the website is visited. If you monitor the profile folder while the command is running then you should see files getting modified.
Thank you, it finally worked! Indeed using the headless mode with a fresh profile made the difference. (I thought that "-p my-new-profile" creates a new profile if it doesn't exist but headless mode just ignored this flag.)
Hello wortwart,
Would you be so kind as to mark cor-el's post (the one that solved your problem) as Chosen Solution ? ("Solved Problem" button to the right)
Thank you in advance !
Sure ... done!