Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Chrome Options in Python Selenium : Disable GPU vs Headless

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')
like image 431
Mahesh Kumaran Avatar asked Nov 26 '19 09:11

Mahesh Kumaran


2 Answers

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

like image 90
undetected Selenium Avatar answered Sep 19 '22 21:09

undetected Selenium


--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.

like image 38
Guy Avatar answered Sep 20 '22 21:09

Guy