我正在尝试验证图片是否存在于网页上。你能告诉我最可行的代码吗?我将在下面提供必要的详细信息。
(这里我指的是左上方的主要产品图片为绿色)
网页网址:http://www.marksandspencer.com/ditsy-floral-tunic/p/p60072079
如果你愿意,我也可以发送截图。请将电子邮件ID发送给我。
请尽早建议,因为我需要它。
答案 0 :(得分:0)
尝试通过xpath检查找到的元素的大小:
".//*[@class='s7staticimage']/img"
如果宽度大于10px - 将显示图片=)
答案 1 :(得分:0)
以下是验证图像是否存在的一些方法,
以上验证仅有助于确保页面上出现图像,但除非进行图像比较,否则无法验证是否显示所需图像。
如果您想进行图像比较,请查看https://github.com/facebookarchive/huxley
答案 2 :(得分:0)
以下是验证网页中所有图片的代码 - selenium webdriver,TestNG,Java。
public void testAllImages(){
//测试网页 - www.yahoo.com
wd.get("https://www.yahoo.com");
//Find total No of images on page and print In console.
List<WebElement> total_images = wd.findElements(By.tagName("img"));
System.out.println("Total Number of images found on page = " + total_images.size());
//for loop to open all images one by one to check response code.
boolean isValid = false;
for (int i = 0; i < total_images.size(); i++) {
String url = total_images.get(i).getAttribute("src");
if (url != null) {
//Call getResponseCode function for each URL to check response code.
isValid = getResponseCode(url);
//Print message based on value of isValid which Is returned by getResponseCode function.
if (isValid) {
System.out.println("Valid image:" + url);
System.out.println("----------XXXX-----------XXXX----------XXXX-----------XXXX----------");
System.out.println();
} else {
System.out.println("Broken image ------> " + url);
System.out.println("----------XXXX-----------XXXX----------XXXX-----------XXXX----------");
System.out.println();
}
} else {
//If <a> tag do not contain href attribute and value then print this message
System.out.println("String null");
System.out.println("----------XXXX-----------XXXX----------XXXX-----------XXXX----------");
System.out.println();
continue;
}
}
}