Currently geckodriver for freebsd with python 3.7 (firefox)



我在用geckodriver设置freebsd selenium时遇到了问题。im获取错误

Traceback (most recent call last):
File "skriptas.py", line 17, in <module>
driver = Firefox(executable_path=path, options=options)
File "/home/m=MyUserName/.local/lib/python3.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 164, in __init__
self.service.start()
File "/home/MyUserName/.local/lib/python3.7/site-packages/selenium/webdriver/common/service.py", line 76, in start
stdin=PIPE)
File "/usr/local/lib/python3.7/subprocess.py", line 800, in __init__
restore_signals, start_new_session)
File "/usr/local/lib/python3.7/subprocess.py", line 1551, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/home/MyUserName/skriptas/forGeckodriver/geckodriver'

我读了很多关于它的文章,发现OSError: [Errno 8] Exec format error:的错误意味着可能安装了一个适用于不同操作系统/平台的geckodriver版本。

我尝试从这里安装

  • 壁虎驱动器-v0.28.0-linux32.tar.gz

  • geckodriver-v0.28.0-linux64.tar.gz

我在python 中的代码

from selenium.webdriver import Firefox
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.support import expected_conditions as expected
from selenium.webdriver.support.wait import WebDriverWait
import logging
FORMAT = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
logging.basicConfig(level=logging.DEBUG, format=FORMAT)

path='/home/MyUserName/skriptas/forGeckodriver/geckodriver'
options = Options()
options.add_argument('-headless')
driver = Firefox(executable_path=path, options=options)

driver.get("https://www.verivox.de/stromvergleich/vergleich/#/?plz=10555&persons=on&usage=3500&bonus=OnlyCompliant&profile=H0&product=electricity&source=1&q=WzYsMCwxLDEsMSwxLDEsMiwyMCwwLDEsNzQxMTIyLCI3MTA4NSIsMSwyNDAsMjQwLDM1MDAsMCwwLDAsOTk5LC0xLC0xLC0xLDAsMCwiVG90YWxDb3N0cyIsIkFzY2VuZGluZyIsIk5vbmUiLDM4LCJBbm51YWxDb3N0VmlldyIsMF0%3D&partnerid=1")

allheader=WebDriverWait(driver,20).until(expected.visibility_of_all_elements_located((By.CSS_SELECTOR,"li[class='result-item'] .result-name-area>.result-name")))
for header in allheader:
print("Header: " + header.text)

请帮帮我,我们将不胜感激。如果我错了,错误不是因为版本错误,请在答案中写下修复。

i从这里下载geckodriver然后说你没有权限,所以我写

chmod +x /home/MyUserName/skriptas/forGeckodriver/geckodriver

现在正在工作。我认为问题出在版本上,可能freebsd不适用于geckodriver-v0.28.0版本的

最新更新