FallingLights / Teachable-dl

Course downloader for teachable platform written in python3 using selenium and yt-dlp
GNU Lesser General Public License v3.0
106 stars 27 forks source link

[BUG] trying to run it in a ubuntu docker container "Message: unknown error: cannot connect to chrome" #21

Closed wieluk closed 1 year ago

wieluk commented 1 year ago

Is it possible to run it headless in a docker container? Because I am on windows and I did not want to dual boot ubuntu right now.

After a bit of waiting I am getting this error:

Traceback (most recent call last):
  File "/data/Teachable-Dl/main.py", line 652, in <module>
    downloader = TeachableDownloader(verbose_arg=verbose, complete_lecture_arg=args.complete_lecture)
  File "/data/Teachable-Dl/main.py", line 73, in __init__
    self.driver = uc.Chrome(options=self.chrome_options)
  File "/data/Teachable-Dl/env/lib/python3.10/site-packages/undetected_chromedriver/__init__.py", line 443, in __init__
    super(Chrome, self).__init__(
  File "/data/Teachable-Dl/env/lib/python3.10/site-packages/selenium/webdriver/chrome/webdriver.py", line 84, in __init__
    super().__init__(
  File "/data/Teachable-Dl/env/lib/python3.10/site-packages/selenium/webdriver/chromium/webdriver.py", line 104, in __init__
    super().__init__(
  File "/data/Teachable-Dl/env/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 286, in __init__
    self.start_session(capabilities, browser_profile)
  File "/data/Teachable-Dl/env/lib/python3.10/site-packages/undetected_chromedriver/__init__.py", line 674, in start_session
    super(selenium.webdriver.chrome.webdriver.WebDriver, self).start_session(
  File "/data/Teachable-Dl/env/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 378, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/data/Teachable-Dl/env/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 440, in execute
    self.error_handler.check_response(response)
  File "/data/Teachable-Dl/env/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py", line 245, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: cannot connect to chrome at 127.0.0.1:39317
from chrome not reachable
Stacktrace:
#0 0x564cb171a4e3 <unknown>
#1 0x564cb1449b00 <unknown>
#2 0x564cb1437436 <unknown>
#3 0x564cb14769be <unknown>
#4 0x564cb146e884 <unknown>
#5 0x564cb14adccc <unknown>
#6 0x564cb14ad47f <unknown>
#7 0x564cb14a4de3 <unknown>
#8 0x564cb147a2dd <unknown>
#9 0x564cb147b34e <unknown>
#10 0x564cb16da3e4 <unknown>
#11 0x564cb16de3d7 <unknown>
#12 0x564cb16e8b20 <unknown>
#13 0x564cb16df023 <unknown>
#14 0x564cb16ad1aa <unknown>
#15 0x564cb17036b8 <unknown>
#16 0x564cb1703847 <unknown>
#17 0x564cb1713243 <unknown>
#18 0x7ff1285efb43 <unknown>

anything I can do?

wieluk commented 1 year ago

Sorry i noticed later that this is probably not the intended use of your program. Also I needed the browser to verify login with cloudflare so headless does not seem to be possible.