123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- from selenium.webdriver.common.by import By
- from selenium.webdriver.support.ui import WebDriverWait
- from selenium.webdriver.support import expected_conditions as EC
- def navigate_to_url(driver, url, clave, contraseña):
- formatted_url = f"https://{clave}:{contraseña}@{url}"
- driver.get(formatted_url)
- driver.get(f'https://{url}')
- # If dentro del código no existe un elemento con el id ctl00_lnkHome
- if not WebDriverWait(driver, 10).until(
- EC.presence_of_element_located((By.ID, "ctl00_lnkHome"))
- ):
- raise Exception("No se pudo iniciar sesión.")
-
- # wait until it appears this element.id = ctl00_contenedor_HistorialAlumno1_lblApPatAlumnoHP and get it
-
- def wait_for_element(driver, element_id):
- return WebDriverWait(driver, 10).until(
- EC.presence_of_element_located((By.ID, element_id))
- )
-
- servicio_social = wait_for_element(driver, "ctl00_contenedor_HistorialAlumno1_Header1_lblSS")
- alumno = {
- "apellido_paterno": wait_for_element(driver, "ctl00_contenedor_HistorialAlumno1_lblApPatAlumnoHP").text,
- "apellido_materno": wait_for_element(driver, "ctl00_contenedor_HistorialAlumno1_lblApMatAlumnoHP").text,
- "curp": wait_for_element(driver, "ctl00_contenedor_HistorialAlumno1_lblCURPAlumnoHP").text,
- "clave_carrera": int(wait_for_element(driver, "ctl00_contenedor_HistorialAlumno1_Header1_lblCveCarrera").text),
- "plan": int(wait_for_element(driver, "ctl00_contenedor_HistorialAlumno1_Header1_lblAlupla").text),
- "clave": int(wait_for_element(driver, "ctl00_contenedor_HistorialAlumno1_Header1_lblCveUlsa").text),
- "servicio_social": servicio_social.text == "Realizado",
- "nombre":wait_for_element(driver, "ctl00_contenedor_HistorialAlumno1_lblNombreAlumnoHP").text,
- "correo": wait_for_element(driver, "ctl00_contenedor_HistorialAlumno1_lblCorreoAlumnoHP").text,
- 'estatus' : wait_for_element(driver, "ctl00_contenedor_HistorialAlumno1_Header1_lblStat").text,
- "telefono": wait_for_element(driver, "ctl00_contenedor_HistorialAlumno1_lblTelefonoAlumnoHP").text,
- "semestre": int(wait_for_element(driver, "ctl00_contenedor_HistorialAlumno1_Header1_lblSem").text),
- "sexo": wait_for_element(driver, "ctl00_contenedor_HistorialAlumno1_lblSexoAlumnoHP").text,
- }
-
-
- click_element(driver, element_id="ctl00_contenedor_HistorialAlumno1_lblBtnSeccionHAcademico")
-
- historial_academico = driver.page_source
-
- alumno['promedio'] = float(wait_for_element(driver, "ctl00_contenedor_HistorialAlumno1_lblPromedioAlumnoHA").text)
- return alumno, historial_academico
- def click_element(driver, element_id):
- elemento = WebDriverWait(driver, 10).until(
- EC.presence_of_element_located((By.ID, element_id))
- )
- elemento.click()
|