We Are Going To Discuss About WebDriverException: Message: Service geckodriver unexpectedly exited. Status code was: 64 error using Selenium Geckodriver Firefox in FreeBSD jail. So lets Start this Python Article.
WebDriverException: Message: Service geckodriver unexpectedly exited. Status code was: 64 error using Selenium Geckodriver Firefox in FreeBSD jail
- How to solve WebDriverException: Message: Service geckodriver unexpectedly exited. Status code was: 64 error using Selenium Geckodriver Firefox in FreeBSD jail
This error message…
selenium.common.exceptions.WebDriverException: Message: Service geckodriver unexpectedly exited. Status code was: 64
and the GeckoDriver log…geckodriver: error: Found argument '--websocket-port' which wasn't expected, orisn't valid in this context
…implies that the GeckoDriver was unable to initiate/spawn a new Browsing Context i.e. firefox session.
Your main issue is the incompatibility between the version of the binaries you are using as follows:
Your Selenium Client version is 4.1.0.
But your GeckoDriver version is 0.26.0.
As@ernstki
mentions in their comment:
You are running a geckodriver older than 0.30.0, and it is missing the--websocket-port
option, which newer/new-ish versions of Selenium seem to depend on.
To put it in simple words, till the previous GeckoDriver release of v0.29.0 the--websocket-port
option wasn't in use, which is now mandatory with Selenium v4.0.1.
Further@whimboo
also confirmed in his comment:
As it has been manifested the problem here is not geckodriver but Selenium. As such you should create an issue on the Selenium repository instead, so that an option could be added to not always pass the –websocket-port argument. If that request gets denied you will have to use older releases of Selenium if testing with older geckodriver releases is really needed.
- WebDriverException: Message: Service geckodriver unexpectedly exited. Status code was: 64 error using Selenium Geckodriver Firefox in FreeBSD jail
This error message…
selenium.common.exceptions.WebDriverException: Message: Service geckodriver unexpectedly exited. Status code was: 64
and the GeckoDriver log…geckodriver: error: Found argument '--websocket-port' which wasn't expected, orisn't valid in this context
…implies that the GeckoDriver was unable to initiate/spawn a new Browsing Context i.e. firefox session.
Your main issue is the incompatibility between the version of the binaries you are using as follows:
Your Selenium Client version is 4.1.0.
But your GeckoDriver version is 0.26.0.
As@ernstki
mentions in their comment:
You are running a geckodriver older than 0.30.0, and it is missing the--websocket-port
option, which newer/new-ish versions of Selenium seem to depend on.
To put it in simple words, till the previous GeckoDriver release of v0.29.0 the--websocket-port
option wasn't in use, which is now mandatory with Selenium v4.0.1.
Further@whimboo
also confirmed in his comment:
As it has been manifested the problem here is not geckodriver but Selenium. As such you should create an issue on the Selenium repository instead, so that an option could be added to not always pass the –websocket-port argument. If that request gets denied you will have to use older releases of Selenium if testing with older geckodriver releases is really needed.
Solution 1
This error message…
selenium.common.exceptions.WebDriverException: Message: Service geckodriver unexpectedly exited. Status code was: 64
and the GeckoDriver log…
geckodriver: error: Found argument '--websocket-port' which wasn't expected, orisn't valid in this context
…implies that the GeckoDriver was unable to initiate/spawn a new Browsing Context i.e. firefox session.
Your main issue is the incompatibility between the version of the binaries you are using as follows:
- Your Selenium Client version is 4.1.0.
- But your GeckoDriver version is 0.26.0.
As @ernstki
mentions in their comment:
You are running a geckodriver older than 0.30.0, and it is missing the
--websocket-port
option, which newer/new-ish versions of Selenium seem to depend on.
To put it in simple words, till the previous GeckoDriver release of v0.29.0 the --websocket-port
option wasn’t in use, which is now mandatory with Selenium v4.0.1.
Further @whimboo
also confirmed in his comment:
As it has been manifested the problem here is not geckodriver but Selenium. As such you should create an issue on the Selenium repository instead, so that an option could be added to not always pass the –websocket-port argument. If that request gets denied you will have to use older releases of Selenium if testing with older geckodriver releases is really needed.
Solution
Ensure that:
- Selenium is upgraded to current levels Version 4.1.0.
- GeckoDriver is upgraded to GeckoDriver v0.30.0 level.
- Firefox is upgraded to current Firefox v96.0.2 levels.
FreeBSD versions
Incase you are using FreeBSD versions where the GeckoDriver versions are older, in those cases you have to downgrade Selenium to v3.x levels.
Commands (courtesy: Kurtibert):
-
Uninstall Selenium:
pip3 uninstall selenium;
-
Install Selenium:
pip3 install 'selenium<4.0.0'
Original Author undetected Selenium Of This Content
Solution 2
I added the following codes to my dockerfile and my problem was solved. My problems were with the version.
My problem is solved with Selenium 4.1.0 and geckodriver v30.
RUN pip install -U selenium==4.1.0
RUN wget https://github.com/mozilla/geckodriver/releases/download/v0.30.0/geckodriver-v0.30.0-linux64.tar.gz
RUN tar -x geckodriver -zf geckodriver-v0.30.0-linux64.tar.gz -O > /usr/local/bin/geckodriver
RUN chmod +x /usr/local/bin/geckodriver
RUN rm geckodriver-v0.30.0-linux64.tar.gz
Original Author Ali İlteriş Keskin Of This Content
Conclusion
So This is all About This Tutorial. Hope This Tutorial Helped You. Thank You.