Chrome Options in Python Selenium : Disable GPU vs Headless

--disable-gpu doesn't run the script without opening the browser, only --headless. It used to be needed on Windows Issue 737678: Headless: make --disable-gpu flag unnecessary, but this bug was fixed. chrome_options.add_argument('--headless') is all you need.

You saw it right. Adding the argument --headless initiates the Chrome Browsing Context in headless mode.

However the purpose of the argument --disable-gpu was to enable google-chrome-headless on windows platform. It was needed as SwiftShader fails an assert on Windows in headless mode earlier.

This issue was resolved through Headless: make --disable-gpu flag unnecessary

You can find a relevant detailed discussion in UI shared context : while initializing Chrome browser through ChromeDriver in Headless mode