Hi,

the error below does not depend to firefox driver. The firefoxdriver ist
a leftover for older firefox versions. The package documentation[3]
describes how to enable the geckodriver and there is a bug[1] (#874207)
filed for firefox too.

The packge firefoxdriver will be removed with the next update of
python-selenium in a few days[2].

Regards
Sascha

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=874207
[2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=939398
[3] /usr/share/doc/python-selenium/README.Debian


Am 23.09.19 um 09:03 schrieb Helmut Grohne:
> Package: firefoxdriver
> Version: 3.14.1-1
> Severity: grave
> Justification: unusable by everyone 
> 
> This is what happens when you try to use firefoxdriver in the most
> obvious way from python on buster:
> 
> | $ dpkg -l python3-selenium
> | ...
> | ii  python3-selenium 3.14.1+dfsg1-1 all          Python3 bindings for 
> Selenium
> | $ python3
> | Python 3.7.3 (default, Apr  3 2019, 05:39:12)
> | [GCC 8.3.0] on linux
> | Type "help", "copyright", "credits" or "license" for more information.
> | >>> import selenium.webdriver
> | >>> selenium.webdriver.Firefox()
> | Traceback (most recent call last):
> |   File 
> "/usr/lib/python3/dist-packages/selenium/webdriver/common/service.py", line 
> 76, in start
> |     stdin=PIPE)
> |   File "/usr/lib/python3.7/subprocess.py", line 775, in __init__
> |     restore_signals, start_new_session)
> |   File "/usr/lib/python3.7/subprocess.py", line 1522, in _execute_child
> |     raise child_exception_type(errno_num, err_msg, err_filename)
> | FileNotFoundError: [Errno 2] No such file or directory: 'geckodriver': 
> 'geckodriver'
> | 
> | During handling of the above exception, another exception occurred:
> | 
> | Traceback (most recent call last):
> |   File "<stdin>", line 1, in <module>
> |   File 
> "/usr/lib/python3/dist-packages/selenium/webdriver/firefox/webdriver.py", 
> line 164, in __init__
> |     self.service.start()
> |   File 
> "/usr/lib/python3/dist-packages/selenium/webdriver/common/service.py", line 
> 83, in start
> |     os.path.basename(self.path), self.start_error_message)
> | selenium.common.exceptions.WebDriverException: Message: 'geckodriver' 
> executable needs to be in PATH.
> | 
> | >>>
> 
> A little research reveals that this problem already has surfaced
> elsewhere e.g. at
> https://askubuntu.com/questions/1104721/sudo-apt-install-firefoxdriver-does-what.
> A more detailed answer at
> https://stackoverflow.com/questions/43272919/difference-between-webdriver-firefox-marionette-webdriver-gecko-driver/43920453
> indicates that the extenstion-powered method employed by firefoxdriver
> only works until firefox 47. Later versions need "marionette" which
> usually manifestst as "geckodriver" which is missing from the
> firefoxdriver package.
> 
> Given that even old-old-stable has firefox 52 already, I think we can
> safely conclude that the present firefoxdriver is broken for everyone.
> 
> For unstable, I guess geckodriver needs to be packaged. For buster it
> may be best to simply remove the package in a point release.
> 
> Also an autopkgtest would be a very good addition for this package to
> catch similar issues earlier.
> 
> Helmut
> 

Reply via email to