In python-selenium chrome_options, What exactly is the difference between the following two options, I know both runs the selenium script without opening the browser.
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
                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 ERROR:gpu_process_transport_factory.cc(1007)-Lost UI shared context : while initializing Chrome browser through ChromeDriver in Headless mode
--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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With