对于一些测试,我设置了一个全新的 TrueNAS 12.3 FreeBSD Jail 并启动它,然后安装,python3
并使用以下命令:firefox
geckodriver
pip
pkg install python3 firefox geckodriver py38-pip
pip install --upgrade pip
setenv CRYPTOGRAPHY_DONT_BUILD_RUST 1
pip install cryptography==3.4.7
pip install selenium
之后,当我想在我的 Python 代码中使用 Selenium 和 Firefox 时,它不起作用:
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
options = Options()
options.headless = True
driver = webdriver.Firefox(options=options)
带来
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.8/site-packages/selenium/webdriver/firefox/webdriver.py", line 174, in __init__
self.service.start()
File "/usr/local/lib/python3.8/site-packages/selenium/webdriver/common/service.py", line 98, in start
self.assert_process_still_running()
File "/usr/local/lib/python3.8/site-packages/selenium/webdriver/common/service.py", line 110, in assert_process_still_running
raise WebDriverException(
selenium.common.exceptions.WebDriverException: Message: Service geckodriver unexpectedly exited. Status code was: 64
有趣的是,在我大约一年前设置的另一个监狱中(大约也以上述方式),它可以正常工作并且不会抛出错误(所以可能是不同的版本?)!
这是唯一的内容geckodriver.log
:
geckodriver: error: Found argument '--websocket-port' which wasn't expected, orisn't valid in this context
USAGE:
geckodriver [FLAGS] [OPTIONS]
For more information try --help
有什么我可以尝试让它工作的吗?我已经看过这个问题,但它似乎已经过时了。
Firefox 95.0.2、geckodriver 0.26.0、Python 3.8.12、Selenium 4.1.0