antinucleon / edx-dl

7 stars 2 forks source link

Chromedriver is in the path, yet reports not in the path! #7

Open zenny opened 3 years ago

zenny commented 3 years ago

Hi,

This fails to run with "chromedriver not in the path"!

~/Downloads/gitrepos/antincleon-edx-dl ]$ which chromedriver
./bin/chromedriver

$ echo $PATH
PATH=./bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:./bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/home/zenny/gitrepos/antincleon-edx-dl/bin

$ ls -la ./bin/chromedriver
-rwxr-xr-x 1 zenny zenny 12M Jul 27 03:27 ./bin/chromedriver

All requirements (binary and path and executablity) are satisfied, yer running the script errors out as if chromedriver is not in the path:

Course home URL: https://learning.edx.org/course/course-v1:HarvardX+HDS3221.3x+3T2020/home
/home/zenny/Downloads/gitrepos/antincleon-edx-dl/edx-dl.py:25: DeprecationWarning: use options instead of chrome_options
  self.driver = webdriver.Chrome(
Traceback (most recent call last):
  File "/home/zenny/Downloads/gitrepos/antincleon-edx-dl/edx-dl.py", line 199, in <module>
    run()
  File "/usr/lib/python3.9/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python3.9/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python3.9/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib/python3.9/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/home/zenny/Downloads/gitrepos/antincleon-edx-dl/edx-dl.py", line 195, in run
    course = EdxCourse(user, pwd, url)
  File "/home/zenny/Downloads/gitrepos/antincleon-edx-dl/edx-dl.py", line 25, in __init__
    self.driver = webdriver.Chrome(
  File "/home/zenny/.local/lib/python3.9/site-packages/selenium/webdriver/chrome/webdriver.py", line 76, in __init__
    RemoteWebDriver.__init__(
  File "/home/zenny/.local/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "/home/zenny/.local/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/home/zenny/.local/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/home/zenny/.local/lib/python3.9/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary

Even install chromium package to satisfy Chrome binary, it opens up the chromium and does just create a folder without any content!

Hmmmm???