QuantumGorilla
QuantumGorilla

Reputation: 603

Format error in python Selenium package

I'm running on Linux Debian 9 and PyCharmwith web scraping purposes; I'm currently using Python 3.5 as interpreter.

The script is the following:

from selenium import webdriver
import time
import datetime
from selenium.webdriver.common.keys import Keys

Till here, the script works fine, by importing the packages properly; when I try to set the driver by running the following line:

driver = webdriver.Firefox(executable_path='/home/quant/Desktop/DataDownload/venv/bin/geckodriver')

I get the following error message, relative to a format problem:

Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/home/quant/Desktop/DataDownload/venv/lib/python3.5/site-packages/selenium/webdriver/firefox/webdriver.py", line 157, in __init__
    self.service.start()
  File "/home/quant/Desktop/DataDownload/venv/lib/python3.5/site-packages/selenium/webdriver/common/service.py", line 76, in start
    stdin=PIPE)
  File "/usr/lib/python3.5/subprocess.py", line 676, in __init__
    restore_signals, start_new_session)
  File "/usr/lib/python3.5/subprocess.py", line 1282, in _execute_child
    raise child_exception_type(errno_num, err_msg)
OSError: [Errno 8] Exec format error

Browsing on the web, I found that probably this problem comes out when the executable program has not been unzipped and made executable correctly; to do that, I followed the steps below, by running them on the terminal:

(1).zip file download from the official repository in the github website:

wget [here][1]

(2) unzipped the file:

cd /home/quant/Downloads
tar -xvzf geckodriver-v0.21.0-arm7hf.tar.gz

(3) made the file executable:

chmod +x geckodriver

(4) moved the file on the following path:

mv geckodriver /home/quant/PycharmProject/DataDownloads/venv/bin/

Could someone help me to understand what's wrong, please?

Thanks in advance all!!

Upvotes: 2

Views: 405

Answers (1)

Corey Goldberg
Corey Goldberg

Reputation: 60604

[Errno 8] Exec format error

This means you are trying to run a version of geckodriver that is compiled for a different architecture... you downloaded the ARM version (geckodriver-v0.21.0-arm7hf.tar.gz) and are most likely running on a x86/amd64 machine.

Solution: go back to the geckodriver releases page and download the correct version for your system: https://github.com/mozilla/geckodriver/releases.

For example, if you are running 64 bit Linux, you want to download: geckodriver-v0.21.0-linux64.tar.gz

Upvotes: 2

Related Questions