Files
scripts/asq/asq_sel.py
2022-09-25 18:26:02 +02:00

51 lines
1.8 KiB
Python

import sys
import time
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.by import By
from getpass import getpass
def check_exists_name(name):
try:
driver.find_element(By.NAME, name)
except NoSuchElementException:
return False
return True
i=.2 # TODO replace dumb waiting with selenium waiting
username = input("Input Username: ")
password = getpass()
button_xpath = '/html/body/div/div/div[4]/div[2]/div[1]/div/div/div[1]/div/form[1]/div/div/table/tbody/tr[3]/td/input[1]'
select_xpath = '/html/body/div/div/div[4]/div[2]/div[1]/div/div/div[1]/div/form[1]/div/div/table/tbody/tr[3]/td/select'
driver = webdriver.Firefox(executable_path='./geckodriver') # TODO replace with service worker object
#driver.implicitly_wait(2) # seconds
while True:
driver.get('https://campusonline.uni-ulm.de/CoronaNG/user/mycorona.html')
if (check_exists_name('uid')):
username_field = driver.find_element(By.NAME, 'uid')
password_field = driver.find_element(By.NAME, 'password')
username_field.send_keys(username)
password_field.send_keys(password)
password_field.submit()
time.sleep(i)
driver.get('https://campusonline.uni-ulm.de/CoronaNG/user/mycorona.html')
button = driver.find_element(By.XPATH, button_xpath)
select = Select(driver.find_element(By.XPATH,select_xpath))
select.select_by_visible_text('Alle markieren')
button.submit()
time.sleep(i)
select = Select(driver.find_element(By.XPATH,select_xpath))
select.select_by_visible_text('An Markierten teilnehmen')
button = driver.find_element(By.XPATH, button_xpath)
button.submit()
time.sleep(i)
driver.quit()