No creo que la primera respuesta va a funcionar. Cuando configuro una imagen mal llamada, arroja un error 404 como se esperaba. Sin embargo, cuando verifico javascript en firebug, esa imagen (rota) tiene .complete establecido en verdadero. Entonces, fue una 404 completa, pero sigue siendo una imagen rota.
La segunda respuesta parece ser más precisa ya que comprueba que está completa y luego verifica que haya algo de ancho en la imagen.
Hice una versión de Python de la segunda respuesta que me funciona. Podría limpiarse un poco, pero espero que ayude.
def checkForBrokenImages(self):
sel = self.selenium
imgCount = int(sel.get_xpath_count("//img"))
for i in range(0,imgCount):
isComplete = sel.get_eval("selenium.browserbot.getCurrentWindow().document.images[" + str(i) + "].complete")
self.assertTrue(isComplete, "Bad Img (!complete): "+sel.get_eval("selenium.browserbot.getCurrentWindow().document.images[" + str(i) + "].src"))
typeOf = sel.get_eval("typeof selenium.browserbot.getCurrentWindow().document.images[" + str(i) + "].naturalWidth")
self.assertTrue(typeOf != 'undefined', "Bad Img (w=undef): "+sel.get_eval("selenium.browserbot.getCurrentWindow().document.images[" + str(i) + "].src"))
natWidth = int(sel.get_eval("selenium.browserbot.getCurrentWindow().document.images[" + str(i) + "].naturalWidth"))
self.assertTrue(natWidth > 0, "Bad Img (w=0): "+sel.get_eval("selenium.browserbot.getCurrentWindow().document.images[" + str(i) + "].src"))
¿No debería ser el título de esta pregunta realmente "¿Cómo verificar si la URL cargó todas las imágenes en una página web con Selenium WebDriver?"? La respuesta aceptada no tiene nada que ver con los códigos de respuesta HTTP, y esto impide que se haga una pregunta similar. – 0112
Una pregunta similar (para verificar los códigos de respuesta) fue hecha/respondida aquí: http://stackoverflow.com/a/14547168/1596460 – 0112