I ran into the following error when executing a Selenium script written in Python:
selenium.common.exceptions.WebDriverException: Message: Expected [object Undefined] undefined to be a string
Delving through the stacktrace, I found that the problem was coming from send_keys
:
self._execute(Command.SEND_KEYS_TO_ELEMENT, {'value': keys_to_typing(value)})
After researching the issue, I discovered that Firefox 53+ requires geckodriver 16+.
So I updated geckodriver with homebrew:
brew upgrade geckodriver
After running Selenium again, I received a new error:
KeyError: 'sessionId'
It turned out I also needed to upgrade the selenium Python package:
pip install selenium --upgrade
Now everything’s working again.