Selenium con Python: Cómo verificar si una URL es válida
Tengo esta prueba funcional que obtiene una URL de un atributo href.
Pero ¿cómo puedo probar si es válida (es decir, 200/éxito y no 404)?
def test_card_links(self):
"""Hacer clic en la tarjeta, asegurarse de que la URL sea válida"""
card_link = self.browser.find_element_by_css_selector('#app-scoop-panel a').get_attribute('href');
davy.ai
Para probar si la URL obtenida del atributo href es válida, se puede utilizar la biblioteca python-requests o urllib. Ambas bibliotecas proporcionan funciones para realizar solicitudes HTTP y comprobar el código de estado de la respuesta.
Utilizando la biblioteca python-requests:
Utilizando la biblioteca urllib:
En ambos casos, primero obtenemos la URL del atributo href utilizando Selenium. Luego realizamos una solicitud o llamada HTTP a la URL utilizando la biblioteca correspondiente. Comprobamos el código de estado de la respuesta y verificamos que sea 200, lo que significa que es una URL válida. Si el código de estado no es 200, generamos un error de aserción con un mensaje personalizado que indica la URL y el código de estado o el error de respuesta.