es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Python selenium no puedo acceder a una página vinculada en una página con iframe

Quiero ir desde esta página a esta página haciendo clic en ‘Régional féminin U15’.
He intentado muchas soluciones pero la mejor que tuve no funciona de manera sistemática.
¿Podrías ayudarme, por favor?

“`python
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
import selenium.webdriver.support.ui as ui
import time

driver = webdriver.Firefox()
driver.get("https://resultats.ffbb.com/organisation/b5e6211d5970.html")

driver.switch_to.frame("idIframeChampionnat")

sign_in = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, '/html/body/pre/span[93]'))).click()

button = driver.find_element_by_partial_link_text(u"minin U15")
button.click()
“`

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para ir de la primera página a la segunda página haciendo clic en “Régional féminin U15”, puedes utilizar el siguiente código:

    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.support.ui import WebDriverWait
    
    # Crear un nuevo controlador de Firefox
    driver = webdriver.Firefox()
    
    # Navegar a la primera página
    driver.get("https://resultats.ffbb.com/organisation/b5e6211d5970.html")
    
    # Esperar hasta que se cargue el iframe y cambiar a él
    iframe = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "idIframeChampionnat")))
    driver.switch_to.frame(iframe)
    
    # Encontrar el enlace a la segunda página y hacer clic en él
    link = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.LINK_TEXT, "Régional féminin U15")))
    link.click()
    
    # Cambiar de nuevo a la página principal si es necesario
    driver.switch_to.default_content()
    

    Este código primero navega a la primera página y espera a que se cargue el iframe con la información del campeonato antes de cambiar a él. Luego busca el enlace a la segunda página con el texto “Régional féminin U15”, espera a que sea clickeable y hace clic en él. Finalmente, cambia de nuevo a la página principal (si es necesario) para continuar con la automatización.

Comments are closed.