59 lines
1.8 KiB
Python
Executable File
59 lines
1.8 KiB
Python
Executable File
#!/usr/bin/env python
|
|
from selenium import webdriver
|
|
from selenium.webdriver.firefox.options import Options
|
|
from selenium.webdriver.common.by import By
|
|
from dotenv import load_dotenv
|
|
import time
|
|
import os
|
|
from os import path
|
|
|
|
LOGIN_URL = "https://moodle.ktu.edu/login/index.php"
|
|
EDIT_ASSIGNMENT_URL = "https://moodle.ktu.edu/mod/assign/view.php?id=1499&action=editsubmission"
|
|
|
|
moodle_filename = "IF-1-1_Rokas_Puzonas.pdf"
|
|
filename = "report.pdf"
|
|
|
|
def main():
|
|
load_dotenv()
|
|
|
|
options = Options()
|
|
# options.headless = True
|
|
driver = webdriver.Firefox(options=options)
|
|
|
|
driver.get(LOGIN_URL)
|
|
driver.find_element(By.ID, "username").send_keys(os.environ["KTU_USERNAME"])
|
|
driver.find_element(By.ID, "password").send_keys(os.environ["KTU_PASSWORD"])
|
|
driver.find_element(By.XPATH, "//input[@type='submit']").click()
|
|
time.sleep(1)
|
|
|
|
driver.find_element(By.ID, "yesbutton").click()
|
|
time.sleep(1)
|
|
|
|
driver.get(EDIT_ASSIGNMENT_URL)
|
|
time.sleep(1)
|
|
|
|
file = driver.find_element(By.XPATH, f"//*[text()='{moodle_filename}']")
|
|
if file:
|
|
file.click()
|
|
time.sleep(1)
|
|
driver.find_element(By.XPATH, "//button[text()='Naikinti']").click()
|
|
time.sleep(1)
|
|
driver.find_element(By.XPATH, "//button[contains(@class, 'fp-dlg-butconfirm')]").click()
|
|
time.sleep(1)
|
|
|
|
driver.find_element(By.CLASS_NAME, "filemanager-container").click()
|
|
time.sleep(1)
|
|
|
|
driver.find_element(By.XPATH, "//input[@type='file']").send_keys(path.abspath(filename))
|
|
driver.find_element(By.XPATH, "//input[@name='title']").send_keys(moodle_filename)
|
|
driver.find_element(By.CLASS_NAME, "fp-upload-btn").click()
|
|
time.sleep(1)
|
|
|
|
driver.find_element(By.ID, "id_submitbutton").click()
|
|
|
|
driver.close()
|
|
|
|
if __name__ == "__main__":
|
|
main()
|
|
|