I’m trying to enter a page and then add cookies on it, but it returns an error and I don’t know why. I did it exactly like is written on the selenium docs, and here is the code i used:
local_path = rf'{os.path.dirname(os.path.realpath(__file__))}\chromedriver.exe'
driver = webdriver.Chrome(executable_path=local_path)
driver.get('https://example.com/')
driver.add_cookie({'session': 'session token'})
driver.close()
And it returns selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: missing 'name'.
I already thought that it could be the code trying to add cookies before the page is totally loaded, but it isn’t. I put a time.sleep(30) between get and add_cookie and it returned the same exception.
Advertisement
Answer
Actually it was just a wrong usage of add_cookie(). The right way to send cookies is like this:
driver.addcookie({
'name': 'session',
'value': 'token'
})
My error was using directly the cookie name + the value, and not with the dict template.