51 lines
1.8 KiB
Python
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()
|