Files
python-scripts/test_minv.py
jaro 63eac6ee58 Upload files to ''
Selenium script for fucking CMS framework...
2020-11-18 13:46:51 +01:00

105 lines
4.3 KiB
Python

#!/usr/bin/python3
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import csv
import sys
import codecs
contacts = []
odbor = {}
path = ('KC','TT','Hlohovec')
user = 'ouhc'
password = 'XXX'
f = open('telzoz2020hc.csv','r',encoding='cp1250')
rows = csv.reader(f,delimiter=';')
for r in rows:
contacts.append(r)
odbor[r[2]] = 1
print(odbor.keys())
# ['Ing. Ľuboš Sloboda', 'prednosta', 'Organizačný odbor', '033 / 5564 205', '205', '117', '1', '']
# ["Meno","Adresa","Zaradenie","Telefon","Klapka","Poschodie","Fax"]
#This example requires Selenium WebDriver 3.13 or newer
with webdriver.Firefox() as driver:
wait = WebDriverWait(driver, 10)
driver.get("https://www.minv.sk/swift/login/")
driver.find_element(By.NAME, "name").send_keys(user)
driver.find_element(By.NAME, "password").send_keys(password)
submit_btn = driver.find_element_by_xpath("//form/table/tbody/tr[3]/td[3]/input")
submit_btn.submit()
first_result = wait.until(EC.title_contains("Štruktúra"))
driver.find_element_by_xpath("//b[contains(.,'Moduly')]").click()
first_result = wait.until(EC.title_contains("Moduly"))
driver.switch_to.frame("details")
driver.find_element_by_xpath("//img[@alt=\"Nastavenie modulu 'Kontakty'\"]").click()
first_result = wait.until(EC.presence_of_element_located((By.LINK_TEXT, 'Zoznam kontaktov')))
driver.find_element_by_link_text('Zoznam kontaktov').click()
first_result = wait.until(EC.presence_of_element_located((By.CLASS_NAME, 'main_table')))
driver.find_element_by_link_text(path[0]).click()
first_result = wait.until(EC.presence_of_element_located((By.LINK_TEXT, path[1])))
driver.find_element_by_link_text(path[1]).click()
first_result = wait.until(EC.presence_of_element_located((By.LINK_TEXT, path[2])))
driver.find_element_by_link_text(path[2]).click()
for o in odbor.keys():
first_result = wait.until(EC.presence_of_element_located((By.XPATH, "//td[contains(.,'Počet kontaktov')]")))
if driver.find_elements_by_link_text(o):
continue
driver.find_element_by_css_selector("img[alt='Pridať kategóriu']").click()
first_result = wait.until(EC.presence_of_element_located((By.XPATH, "//td[contains(.,'Nová kategória')]")))
driver.find_element(By.NAME, "Name").send_keys(o)
driver.find_element_by_css_selector("input[alt='Potvrdiť']").submit()
#### FOR ####
lo = ''
for c in contacts:
# ['Ing. Ľuboš Sloboda', 'prednosta', 'Organizačný odbor', '033 / 5564 205', '205', '117', '1', '', 'email@minv.sk']
data = (c[0],c[1],c[3],c[7],c[8])
first_result = wait.until(EC.presence_of_element_located((By.XPATH, "//td[contains(.,'Počet kontaktov')]")))
if lo != c[2] and lo != '':
first_result = driver.find_element_by_link_text(path[2]).click()
first_result = wait.until(EC.presence_of_element_located((By.XPATH, "//td[contains(.,'Počet kontaktov')]")))
first_result = driver.find_element_by_link_text(c[2]).click()
first_result = wait.until(EC.presence_of_element_located((By.LINK_TEXT, c[2])))
driver.find_element_by_css_selector("img[alt='Pridať kontakt']").click()
first_result = wait.until(EC.presence_of_element_located((By.XPATH, "//td[contains(.,'Nový kontakt')]")))
driver.find_element(By.NAME, "Status").click()
driver.find_element(By.NAME, "Data[1]").send_keys(data[0])
driver.find_element(By.NAME, "Data[2]").send_keys(data[1])
driver.find_element(By.NAME, "Data[3]").send_keys(data[2])
if data[3] != '':
driver.find_element(By.NAME, "Data[4]").send_keys(data[3])
if data[4] != '':
driver.find_element(By.NAME, "Data[5]").send_keys(data[4])
driver.find_element_by_css_selector("input[alt='Potvrdiť']").submit()
lo = c[2]
### END FOR ###
driver.implicitly_wait(30)
print(driver.page_source)
#print(first_result.get_attribute("textContent"))