Java 在Selenium中获取src图像

Java 在Selenium中获取src图像,java,html,image,selenium,Java,Html,Image,Selenium,我问了这个问题,但又需要帮助。 我试图让页面中的所有图像src检查页面中是否没有加载图像。 我使用了这些代码,但它获取了所有src的图像。如何在“butik large image”类中仅获取这些src 这是我的密码: List<WebElement> srcClass; String [] cats={"TÜM BUTİKLER","KADIN","ERKEK","ÇOCUK","SPOR GİYİM","AYAKKABI & ÇANTA","SAAT &a

我问了这个问题,但又需要帮助。 我试图让页面中的所有图像src检查页面中是否没有加载图像。 我使用了这些代码,但它获取了所有src的图像。如何在“butik large image”类中仅获取这些src

这是我的密码:

List<WebElement> srcClass;
        String [] cats={"TÜM BUTİKLER","KADIN","ERKEK","ÇOCUK","SPOR GİYİM","AYAKKABI & ÇANTA","SAAT & "
                + "AKSESUAR","KOZMETİK","EV & YAŞAM","HIZLI TESLİMAT"}; 
        for (String kat : cats) {
            sleep(1000);
            clickObjectByLinkText(kat);
            srcClass = driver.findElements(By.tagName("img"));
               System.out.println(kat +" için image src linkleri");
               for (WebElement src : srcClass){
                   if(src.getAttribute("src").equals(null))
                       System.out.println("Ekranda "+kat+" " + " kategorisi için image yüklenemeyen data bulundu,lütfen aşagıdaki pathleri inceleyiniz..");
                   System.out.println(src.getAttribute("src"));
               }
               System.out.println("---------------------------------------------------------------------------------------");
               srcClass.clear();
               }
List类;
字符串[]猫={“TÜM BUTİKLER”,“KADIN”,“ERKEK”,“İOCUK”,“SPOR GİYİM”,“AYAKKABI&İANTA”,“SAAT&”
+“AKSESUAR”、“KOZMETİK”、“EV&YAŞAM”、“HIZLI TESLİMAT”};
对于(串凯特:猫){
睡眠(1000);
单击ObjectByLink文本(kat);
srcClass=driver.findElements(按.tagName(“img”));
System.out.println(kat+“için image src linkleri”);
for(WebElement src:srcClass){
if(src.getAttribute(“src”).equals(null))
System.out.println(“图像中的Ekranda”+kat+“+”kategorisi içyüklenemeyen data bulundu,lütfen aşagıdaki pathleri Inceleyinazing.);
System.out.println(src.getAttribute(“src”);
}
System.out.println(“-------------------------------------------------------------------------------------------------------------------------”;
srcClass.clear();
}
我的html源代码:

<div class="butik-large-image">
                <a href="/Olgun-Orkun-x-Deniz-Akkaya-nin-Sectikleriyle---Kadin-Tekstil/ButikDetay/174246/Kadin" style="font-size: 0" 
title="Olgun Orkun x Deniz Akkaya'nın Seçtikleriyle - Kadın Tekstil" 
class="butik-img-size">
                    <img class="bigBoutiqueImage lazy-load-trigger loaded" 
**src="https://img-trendyol.mncdn.com//Assets/ProductImages/OA/CampaignVisual/OriginalBoutiqueImages/13520/llardau3_0_new.jpg**" data-original="https://img-trendyol.mncdn.com//Assets/ProductImages/OA/CampaignVisual/OriginalBoutiqueImages/13520/llardau3_0_new.jpg" title="Olgun Orkun x Deniz Akkaya'nın Seçtikleriyle - Kadın Tekstil" onerror="this.src='/Resources/images/bigBoutiquePlaceHolder.png'" alt="Olgun Orkun x Deniz Akkaya'nın Seçtikleriyle - Kadın Tekstil">
                    <div class="efect">
</div>
                </a>
</div>

您可以在具有
butik large image
类的元素下查找
标记

类和标记之间的空格表示任何后代。

思想是:

  • 按类名“butik large image”获取所有元素
  • 获取所有具有img标记的元素
  • 编写你想要的代码,例如:获取src图像链接,img是否退出等等
您所需需求的完整实现如下所示:

srcClass = driver.findElements(By.cssSelector(".butik-large-image img"));
List allimagesunderthissclass=driver.findElements(By.className(“butik large image”);
字符串ignoreImageURl=”https://www.trendyol.com/Resources/images/bigBoutiquePlaceHolder.png";
for(WebElement元素:AllImageSunderThis类){
列表imgs=elem.findElements(按.tagName(“img”));
for(WebElement-img:imgs){
stringsource=img.getAttribute(“src”);
如果(!source.equalsIgnoreCase(ignoreImageURl)){
系统输出打印项次(来源);
}
}   
}

我已经为这个问题添加了答案。请检查并让我知道你的反馈,我做了,但它需要奇怪的img src如下:它得到了3个正确的图像src,然后它采取了每一个类别的图像。此外,我的研究链接是为这个网站标签我得到了所有精品店的图片src我已经更新了我的答案,根据您当前的要求。你也可以自己改变逻辑。请告诉我你的名字feedback@little很高兴听到你说它对你有用。快乐编码
 List<WebElement> allImagesUnderThisClass = driver.findElements(By.className("butik-large-image"));
    String ignoreImageURl = "https://www.trendyol.com/Resources/images/bigBoutiquePlaceHolder.png";
    for(WebElement elem : allImagesUnderThisClass){
        List<WebElement> imgs = elem.findElements(By.tagName("img"));
        for(WebElement img : imgs){
            String source = img.getAttribute("src");
            if(!source.equalsIgnoreCase(ignoreImageURl)){
                System.out.println(source); 
            }
        }   
    }