selenium: [py] set_page_load_timeout() crashes with firefox: unknown field `sessionId` (v61 → v62 regression)
Meta -
OS: Fedora 28 Selenium Version: 3.14 Browser: Firefox Browser Version: v62.0 selenium-python version: 3.7.0-3.fc28
Steps to reproduce -
Run selenium in containers (current :3 tag points to 3.14.0):
docker run -d -p 4444:4444 --name selenium-hub selenium/hub:3
docker run -d --link selenium-hub:hub selenium/node-firefox:3
Things generally work with Python:
# python
>>> import selenium.webdriver
>>> driver = selenium.webdriver.Remote(command_executor='http://10.111.112.10:4444/wd/hub', desired_capabilities={'browserName': 'firefox'})
>>> driver
<selenium.webdriver.remote.webdriver.WebDriver (session="975c7096-105b-436e-a5b5-6506ed332bcb")>
>>> driver.get_window_size()
{'width': 1224, 'height': 918}
>>> driver.set_window_size(1400, 1200)
>>> driver.get_window_size()
{'width': 1400, 'height': 1200}
But trying to call set_page_load_timeout()
fails:
>>> driver.set_page_load_timeout(90)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 830, in set_page_load_timeout
'type': 'page load'})
File "/usr/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 308, in execute
self.error_handler.check_response(response)
File "/usr/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 194, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown field `sessionId`, expected one of `implicit`, `pageLoad`, `script` at line 1 column 12
This does not happen with other drivers like selenium/node-chrome:3 or MS Edge (https://docs.microsoft.com/en-us/microsoft-edge/webdriver), and it also still works with the (ancient) selenium/node-firefox:2.53.1.
The code around “def execute()” and “def set_page_load_timeout” doesn’t seem to have changed at all in current upstream master: https://github.com/SeleniumHQ/selenium/blob/master/py/selenium/webdriver/remote/webdriver.py
So somehow firefox doesn’t stomach the extra sessionId
parameter that execute() adds.
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 16 (9 by maintainers)
Yes, I can recreate a similar error when using selenium python bindings
3.7
. Please upgrade. I’m guessing it has something to do with https://github.com/SeleniumHQ/selenium/commit/e6c2e7069c10852917846231439eeb807cd2e821#diff-6f9f8008b5e139c03e64fedabf4b3122