soraxas / echo360

Commandline tool for automated downloads of echo360 videos hosted by university
https://cs.tinyiu.com/echo360
MIT License
261 stars 51 forks source link

Selenium webdriver Issues #50

Open CactusChaos opened 2 years ago

CactusChaos commented 2 years ago

Hi,

After logging in, and typing continue I get the following error:

File "/home/user/Downloads/echo360-master/echo360.py", line 7, in <module>
    sys.exit(main())
  File "/home/user/Downloads/echo360-master/echo360/main.py", line 355, in main
    downloader._driver.set_window_size(0, 0)
  File "/home/user/Downloads/echo360-master/_echo360venv/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py", line 1376, in set_window_size
    self.set_window_rect(width=int(width), height=int(height))
  File "/home/user/Downloads/echo360-master/_echo360venv/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py", line 1458, in set_window_rect
    raise InvalidArgumentException("x and y or height and width need values")
selenium.common.exceptions.InvalidArgumentException: Message: x and y or height and width need values

I have also tried firefox but that crashes straight away ;(

Running Arch with chromium

soraxas commented 2 years ago

what are your packages versions?

pip freeze
CactusChaos commented 2 years ago

apipkg==1.5 appdirs==1.4.4 apsw==3.36.0.post1 asn1crypto==1.4.0 async-generator==1.10 attrs==21.2.0 beautifulsoup4==4.9.3 bidict==0.21.2 Brlapi==0.8.3 brotlicffi==1.0.9.2 btrfsutil==5.14.2 CacheControl==0.12.6 cchardet==2.1.7 ceph==1.0.0 ceph-volume==1.0.0 cephfs==2.0.0 cephfs-shell==0.0.1 certifi==2021.10.8 cffi==1.14.6 chardet==4.0.0 chrome-gnome-shell==0.0.0 click==8.0.3 colorama==0.4.4 contextlib2==0.6.0.post1 cryptography==35.0.0 css-parser==1.0.6 cssselect==1.1.0 cycler==0.10.0 deemix==2.0.11 deezer-py==0.0.14 distlib==0.3.3 distro==1.6.0 dnspython==2.1.0 docutils==0.17.1 EasyProcess==0.3 entrypoints==0.3 evdev==1.4.0 eventlet==0.32.0 feedparser==6.0.1 ffmpy==0.3.0 Flask==2.0.2 Flask-SocketIO==5.0.1 future==0.18.2 gevent==21.8.0 gitdb==4.0.7 GitPython==3.1.24 greenlet==1.1.2 h11==0.12.0 html2text==2020.1.16 html5-parser==0.4.9 html5lib==1.1 humanize==3.1.0 idna==3.3 ifaddr==0.1.7 importlib-metadata==4.8.1 iniconfig==1.1.1 itsdangerous==2.0.1 jeepney==0.7.1 Jinja2==3.0.2 keyring==23.0.1 kiwisolver==1.3.2 lensfun==0.3.95 libfdt==1.6.1 libtorrent===1.2.14-build-libtorrent-rasterbar-src-libtorrent-rasterbar-1.2.14-bindings-python libvirt-python==7.8.0 louis==3.19.0 lutris==0.5.9.1 lxml==4.6.3 Markdown==3.3.4 MarkupSafe==2.0.1 matplotlib==3.4.3 mechanize==0.4.6 mercurial==5.9.3 meson==0.60.1 monotonic==1.6 more-itertools==8.10.0 msgpack==1.0.2 multivolumefile==0.2.3 mutagen==1.45.1 netifaces==0.11.0 netsnmp-python==1.0a1 nicotine-plus==3.2.0.dev1 numpy==1.21.2 ordered-set==4.0.2 outcome==1.1.0 packaging==20.9 pass-git-helper==1.1.2 pep517==0.11.0 pick==1.0.0 Pillow==8.4.0 Pivy==0.6.6 pluggy==0.13.1 ply==3.11 progress==1.6 psutil==5.8.0 pwquality==1.4.4 py==1.10.0 py7zr==0.16.2 pybind11==2.8.1 pycairo==1.20.1 pychm==0.8.6 pycparser==2.20 pycryptodome==3.10.4 pycryptodomex==3.10.1 Pygments==2.10.0 PyGObject==3.42.0 pyOpenSSL==20.0.1 pyparsing==2.4.7 pyppmd==0.17.1 PyQt5==5.15.6 PyQt5-sip==12.9.0 PyQtWebEngine==5.15.5 pyserial==3.5 PySide2==5.15.2 pytest==6.2.5 pytest-xvfb==2.0.0 python-dateutil==2.8.2 python-distutils-extra==2.39 python-engineio==4.0.0 python-socketio==5.0.4 pytoml==0.1.21 PyVirtualDisplay==2.2 pyxdg==0.27 PyYAML==5.4.1 pyzstd==0.15.0 rados==2.0.0 rbd==2.0.0 regex==2021.8.28 requests==2.26.0 resolvelib==0.5.5 retrying==1.3.3 rgw==2.0.0 scipy==1.7.2 SecretStorage==3.3.1 selenium==3.141.0 sgmllib3k==1.0.0 Shapely==1.7.1 shiboken2==5.15.2 sip==4.19.25 six==1.16.0 smmap==5.0.0 sniffio==1.2.0 sortedcontainers==2.4.0 soupsieve==2.2.1 spotipy==2.16.1 team==1.0 texttable==1.6.4 toml==0.10.2 tomli==1.2.1 torch==1.10.0 tqdm==4.62.3 trimesh==3.9.31 trio==0.19.0 trio-websocket==0.9.2 typing-extensions==3.10.0.2 unrardll==0.1.4 urllib3==1.26.7 webdrivermanager==0.10.0 webencodings==0.5.1 websocket-client==0.59.0 websockets==9.1 Werkzeug==2.0.2 wget==3.2 wsproto==1.0.0 zeroconf==0.36.11 zipp==3.6.0 zope.event==4.5.0 zope.interface==5.4.0

soraxas commented 2 years ago

I see that most required pacakges are there, but it seems like you are not using a standalone virtual env for the module. No one had ever reported this error so it might be other packages that create the conflicts.

Have you tried to create a standalone virtual env (or using the provided run.sh script) to isolate the issue?

CactusChaos commented 2 years ago

Tried both on 2 different devices, no cigar.

soraxas commented 2 years ago

what window manager are you using?

soraxas commented 2 years ago

Perhaps navigate to your /home/user/Downloads/echo360-master/echo360/main.py file and simply remove line 355 to check if it is a simple workaround for this issue.

CactusChaos commented 2 years ago

File "/home/user/Downloads/echo360-master/echo360.py", line 7, in <module> sys.exit(main()) File "/home/user/Downloads/echo360-master/echo360/main.py", line 356, in main downloader.download_all() File "/home/user/Downloads/echo360-master/echo360/downloader.py", line 189, in download_all videos = self._course.get_videos().videos File "/home/harry/Downloads/echo360-master/echo360/course.py", line 129, in get_videos course_data_json = self._get_course_data() File "/home/user/Downloads/echo360-master/echo360/course.py", line 202, in _get_course_data self.course_data = json.loads(json_str) File "/usr/lib/python3.9/json/__init__.py", line 346, in loads return _default_decoder.decode(s) File "/usr/lib/python3.9/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/lib/python3.9/json/decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 2 column 1 (char 1)

Does that help?

soraxas commented 2 years ago

No that does not help, please follow the standard debug procedure of supplying the log file that is generated with the --debug flag, and also includes your input to the program.

CactusChaos commented 2 years ago

See attached :) ./run.sh https://echo360.org.au/section/5df7893a-1d68-46f5-83e2-ce46dce873f6/home --debug [echo360Downloader.log](https://github.com/soraxas/echo360/files/7492390/echo360Downloader.log)

CactusChaos commented 2 years ago

Sorry that was af echo360Downloader.log ter setting the window size to (1920, 1080). See attached if left at 0

soraxas commented 2 years ago

Are you sure you had logged into an account that has access right to your course?

It appears from the log that you either haven't logged into echo360 or the account that you are using does not has access to the course

CactusChaos commented 2 years ago

Yep, even navigated to the course through the browser window.

soraxas commented 2 years ago

I'm not sure what is the issue. What happens when you navigate to https://echo360.org.au/section/5df7893a-1d68-46f5-83e2-ce46dce873f6/syllabus?

CactusChaos commented 2 years ago

I get json data