cron

Cron runs in an environment that knows nothing
about the display manager ($DISPLAY isn’t set).
Your terminal window that you’ve been testing in
has this set for it.

If you’ve only got one X server running, just
specifying the display might work:

* * * * *    DISPLAY=:0 firefox ...
* * * * *    WAYLAND_DISPLAY=wayland-0 GNOME_SETUP_DISPLAY=:1 DISPLAY=:0 firefox ...