Tôi không nghĩ rằng câu trả lời đầu tiên sẽ làm việc. Khi tôi src một hình ảnh sai tên, nó ném một lỗi 404 như mong đợi. Tuy nhiên, khi tôi kiểm tra javascript trong firebug, hình ảnh (bị hỏng) đó có .complete được đặt thành true. Vì vậy, nó là một 404 hoàn thành, nhưng vẫn là một hình ảnh bị hỏng.
Phản hồi thứ hai có vẻ chính xác hơn ở chỗ nó kiểm tra xem nó đã hoàn thành chưa và sau đó kiểm tra xem có một số chiều rộng cho hình ảnh không.
Tôi đã tạo phiên bản python của phản hồi thứ hai phù hợp với mình. Có thể được làm sạch một chút, nhưng hy vọng nó sẽ giúp.
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"))
Nguồn
2009-12-10 18:43:51
Không phải tiêu đề của câu hỏi này thực sự là "Làm thế nào để kiểm tra xem URL có tải tất cả hình ảnh trên trang web với Selenium WebDriver không?"? Câu trả lời được chấp nhận không liên quan gì đến các mã phản hồi HTTP và điều này loại trừ một câu hỏi tương tự khi được hỏi. – 0112
Một câu hỏi tương tự (để kiểm tra mã phản hồi) đã được hỏi/trả lời ở đây: http://stackoverflow.com/a/14547168/1596460 – 0112