Upload files to ''
Selenium script for fucking CMS framework...
This commit is contained in:
105
test_minv.py
Normal file
105
test_minv.py
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
#!/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"))
|
||||||
|
|
||||||
Reference in New Issue
Block a user