3

I'm installing webdriver of selenium. However I get a following error :

PermissionError                           Traceback (most recent call last)
/usr/local/lib/python3.6/dist-packages/selenium/webdriver/common/service.py 
in start(self)
 75                                             stderr=self.log_file,
---> 76                                             stdin=PIPE)
 77         except TypeError:

/usr/lib/python3.6/subprocess.py in __init__(self, args, bufsize, 
executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, 

universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, encoding, errors)
    708                                 errread, errwrite,
--> 709                                 restore_signals, start_new_session)
    710         except:

/usr/lib/python3.6/subprocess.py in _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, start_new_session)
   1343                             err_msg += ': ' + repr(err_filename)
-> 1344                     raise child_exception_type(errno_num, err_msg, err_filename)
   1345                 raise child_exception_type(err_msg)

PermissionError: [Errno 13] Permission denied: '/usr/bin/chromedriver.exe'

During handling of the above exception, another exception occurred:

WebDriverException                        Traceback (most recent call last)
<ipython-input-50-92acfe45475a> in <module>()
      1 from selenium import webdriver
----> 2 driver = webdriver.Chrome(executable_path="/usr/bin/chromedriver.exe")
      3 driver.get("http://www.google.com")
      4 display.stop()

/usr/local/lib/python3.6/dist-packages/selenium/webdriver/chrome/webdriver.py in __init__(self, executable_path, port, options, service_args, desired_capabilities, service_log_path, chrome_options, keep_alive)
     71             service_args=service_args,
     72             log_path=service_log_path)
---> 73         self.service.start()
     74 
     75         try:

/usr/local/lib/python3.6/dist-packages/selenium/webdriver/common/service.py in start(self)
     86                 raise WebDriverException(
     87                     "'%s' executable may have wrong permissions. %s" % (
---> 88                         os.path.basename(self.path), self.start_error_message)
     89                 )
     90             else:

WebDriverException: Message: 'chromedriver.exe' executable may have wrong permissions. Please see https://sites.google.com/a/chromium.org/chromedriver/home

I have downloaded chromedriver.exe and added it to /usr/bin with the code line as follow : !sudo mv /usr/local/bin/chromedriver.exe /usr/bin

Can't you solve the error of my code? Thanks in advance!

Harsha Biyani
  • 7,049
  • 9
  • 37
  • 61
LUân Đào Duy
  • 81
  • 1
  • 2
  • 10

1 Answers1

4

It might be because of platform and chromedriver format mismatch. For example windows requires chromedriver.exe while there are different formats for linux and mac. If you don't want to install through package manager, just download chromedriver from sites. https://sites.google.com/a/chromium.org/chromedriver/downloads

If still you get error then Goto /usr/bin directory and you would need to run something like chmod a+x chromedriver to mark it executable.

Ronak Jain
  • 2,402
  • 2
  • 24
  • 38
  • Actualy dont need this ! If not work, why add a binary file under "/bin/" directory ? The friend set up the driver in a different way, system-wide installation is done to protect against such module conflicts. For this, `APT` is used, `PIP` cannot meet adequate requirements (Chromium is a main system component, has no relationship with Python.). – dsgdfg Nov 14 '18 at 06:36
  • Thanks for the help. I have performed `chmod a+x chromedriver.exe` . However I get another error `OSError: [Errno 8] Exec format error: '/usr/bin/chromedriver.exe' ` – LUân Đào Duy Nov 14 '18 at 07:29
  • Updated the answer. please check – Ronak Jain Nov 14 '18 at 09:50