Saltar al contenido

¿Cuál es la mejor manera de verificar el cambio de URL con Selenium en Python?

Si encuentras algún error con tu código o trabajo, recuerda probar siempre en un ambiente de testing antes subir el código al trabajo final.

Solución:

Así es como lo implementé eventualmente. Funciona bien para mí:

driver = webdriver.Chrome()
wait = WebDriverWait(driver, 5)
desired_url = "https://yourpageaddress"

def wait_for_correct_current_url(desired_url):
    wait.until(
        lambda driver: driver.current_url == desired_url)

Estaba pensando en hacer eso de alguna manera con WebDriverWait

Exactamente. En primer lugar, vea si las Condiciones esperadas incorporadas pueden resolver eso:

  • title_is
  • title_contains

Ejemplo de uso:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

wait = WebDriverWait(driver, 10)
wait.until(EC.title_is("title"))
wait.until(EC.title_contains("part of title"))

De lo contrario, siempre puede crear una Condición esperada personalizada para esperar a que la URL coincida con la expresión regular deseada.

Para saber realmente que la URL ha cambiado, debe conocer la anterior. Usando WebDriverWait la implementación en Java sería algo como:

wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.not(ExpectedConditions.urlToBe(oldUrl)));

Sé que la pregunta es para Python, pero probablemente sea fácil de traducir.

Recuerda algo, que te permitimos añadir una puntuación verdadera .

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *