DeprecationWarning: use options instead of chrome_options error using ChromeDriver and Chrome through Selenium on Windows 10 system
Solution 1
This error message...
DeprecationWarning: use options instead of chrome_options
...implies that in your program you have used chrome_options
to initiate a Selenium driven ChromeDriver initiated google-chrome Browsing Context.
chrome_options
is deprecated now and you have to use options
instead as well as pass the absolute path of the ChromeDriver along with the extension.
Solution
As you are triggering your tests on a windows-10 system, effectively you line of code will be:
options = webdriver.ChromeOptions()
options.add_argument('--headless')
driver = webdriver.Chrome(executable_path=r'C:\chromedriver_win32\chromedriver.exe', options=options)
Solution 2
It's ok!
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--headless')
browser = webdriver.Chrome(options=chrome_options)
Ali
Updated on September 13, 2021Comments
-
Ali over 2 years
Trying to run this code on my windows 10 machine https://github.com/KalleHallden/reddit_automations/blame/master/movie-tickets.py
from selenium import webdriver from selenium.webdriver.common.keys import Keys from decouple import config import time # the way to locate the button or thing you want on a website in chrome is # by pressing cmd + shift + c and then you can use your mouse to find the # info on the element that you want and you can copy the full xpath. options = webdriver.ChromeOptions() # options.add_argument('--ignore-certificate-errors') # options.add_argument('--incognito') # options.add_argument('--headless') driver = webdriver.Chrome("/Users/kalle/Downloads/chromedriver83", chrome_options=options) driver.get(config('THEATRE_SITE')) # for some odd reason you need to reload the site for it to load. # possibly a bug of the theatre site driver.get(config('THEATRE_SITE')) time.sleep(3) # select city button = driver.find_element_by_xpath('/html/body/div[1]/div[3]/div/div/div[1]/div/div[2]/ul/li[1]/label/input') button.click() # save city button = driver.find_element_by_xpath('/html/body/div[1]/div[3]/div/div/div[2]/span/button') button.click() time.sleep(2) # proceed to tickets tab button = driver.find_element_by_xpath('/html/body/div[1]/nav/div[2]/div[2]/div[1]/ul[1]/li[1]/a') button.click() time.sleep(2) # select the movie you want (should be more specific than just selecting the first one but whateva) button = driver.find_element_by_xpath('/html/body/div[1]/main/div/div[2]/div/div/div/div[2]/div/div[2]/div[2]/div[2]/ul/li[1]/ul/li/div/div[1]/div/span[2]/a') button.click() time.sleep(1) # select the time you want to go button = driver.find_element_by_xpath('/html/body/div[1]/main/div/div[1]/div/div/div/div[4]/section/div/div[2]/div[2]/ul/li/ul/li[1]/div/span/span[3]/span[2]/span') button.click() time.sleep(1) # choose amount of people button = driver.find_element_by_xpath('/html/body/div[1]/main/div/div[2]/div/div/div/div/section/div/div[2]/div/button') button.click() time.sleep(2) # choose seats button = driver.find_element_by_xpath('/html/body/div[1]/main/div/div[1]/div/div/div/div[2]/section/div[3]/div[2]/button') button.click() time.sleep(2) # pay button = driver.find_element_by_xpath('/html/body/div[1]/main/div/div[1]/div/div/div/div[2]/section/div[4]/div/div[2]/button/span') button.click()
I have all the correct programs installed:
- running python 3.8
- have chrome webdriver installed
- running version 84 stable chrome web browser
When I run the program it opens chrome however I get a blank web page with nothing on there but some text which says "data:." that is all nothing else.
This is the error I get in VS code:
:\Users\user>python c:/chromedriver_win32/movie-tickets1.py c:/chromedriver_win32/movie-tickets1.py:15: DeprecationWarning: use options instead of chrome_options driver = webdriver.Chrome(executable_path=r'C:\chromedriver_win32\chromedriver.exe', chrome_options=options) DevTools listening on ws://127.0.0.1:29442/devtools/browser/872d4312-b51d-4a38-bc1b-3b80495950 Traceback (most recent call last): File "c:/chromedriver_win32/movie-tickets1.py", line 17, in <module> driver.get(config("https://www.google.co.uk")) File "C:\Users\user\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\decouple.py", line 199, in __call__ return self.config(*args, **kwargs) File "C:\Users\user\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\decouple.py", line 83, in __call__ return self.get(*args, **kwargs) File "C:\Users\user\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\decouple.py", line 68, in get raise UndefinedValueError('{} not found. Declare it as envvar or define a default value.'.format(option)) decouple.UndefinedValueError: https://www.google.co.uk not found. Declare it as envvar or define a default value.
Any help would be much appreciated, I am unsure why decouple is not working.
-
Ali over 3 yearsthis was the fix for the issue "driver = webdriver.Chrome('/chromedriver_win32/chromedriver.exe',options = options" however i still cannot get the program to show the website, any ideas?, i keep getting the error as stated in the first post about declaring something as env variable
-
undetected Selenium over 3 years@Ali Can you raise a new question for your new requirement please?