Search code examples
pythonseleniumselenium-chromedriverheadlesschrome-canary

How to initiate Chrome Canary in headless mode through Selenium and Python


from selenium import webdriver

options = webdriver.ChromeOptions()
options.binary_location = 'C:\Users\mpmccurdy\Desktop\Google Chrome Canary.lnk'
options.add_argument('headless')
options.add_argument('window-size=1200x600')
driver = webdriver.Chrome(chrome_options=options)
driver.get("https://www.python.org")

Solution

  • If you are using Chrome Canary as a basic Requirement the server still expects you to have Chrome installed in the default location as per the underlying OS architecture as follows:

    Chrome_binary_expected_location

    You can also override the default Chrome Binary Location following the documentation Using a Chrome executable in a non-standard location as follows:

    from selenium import webdriver
    
    options = webdriver.ChromeOptions()
    options.binary_location = r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
    options.add_argument('--headless')
    options.add_argument('window-size=1200x600')
    driver = webdriver.Chrome(executable_path=r'C:\path\to\chromedriver.exe', chrome_options=options)
    driver.get("https://www.python.org")