Python Selenium Firefox Geckodriver webdriver_manager

Situacija

Kradeš informacije s interneta korištenjem pythona seleniuma firefoxa webdriver-managera te geckodrivera.

Problem

Na naredbu

  • driver = webdriver.Firefox ( options=options , service=Service(GeckoDriverManager().install()))

browser se sruši iskazujući svoje nezadovoljstvo sljedećim izjavnim rečenicama koje vjerojatno nemaju nikakvog smisla ali ih nisam anal-izirao:

selenium.common.exceptions.TimeoutException: Message: Failed to read marionette port
selenium.common.exceptions.SessionNotCreatedException: Message: Expected browser binary location, but unable to find binary in default location, no 'moz:firefoxOptions.binary' capability provided, and no binary flag set on the command line

Uzrok

Ako je Firefox instaliran naredbom “sudo apt install firefox” onda ti je server možda dobio Snap verziju, a Snap verzija Firefoxa je usrana kao i sâm Snap.

Rješenje (a.k.a Instaliraj najnoviji Firefox)..

..a da nije verzija sa Snapa ili repozitorija, nego da radi:

Opcija 1

wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | sudo tee /etc/apt/keyrings/packages.mozilla.org.asc > /dev/null

echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | sudo tee -a /etc/apt/sources.list.d/mozilla.list > /dev/null

echo '
Package: *
Pin: origin packages.mozilla.org
Pin-Priority: 1000
' | sudo tee /etc/apt/preferences.d/mozilla

sudo apt-get update && sudo apt-get install firefox

Opcija 2

  • wget -O ~/FirefoxSetup.tar.bz2 "https://download.mozilla.org/?product=firefox-latest&os=linux64"
  • sudo tar xjf ~/FirefoxSetup.tar.bz2 -C /opt/
  • (po potrebi: sudo rm /usr/bin/firefox)
  • sudo ln -s /opt/firefox/firefox /usr/bin/firefox

Nešto se promijenilo s opcijom 2, pa možda prvo trebaš unBzipati u .tar i onda unTarati taj .tar


firefox ffox latest xfirefox xffox xlatest install xinstall xsnap xrepository repository linux xlinux

image_pdfimage_print