【问题标题】:Getting images src in Selenium在 Selenium 中获取图像 src
【发布时间】:2018-06-06 05:03:38
【问题描述】:

我问了这个问题,但再次需要帮助。 我正在尝试获取页面中的所有图像 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();
               }

我的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>

【问题讨论】:

  • 我已经为此添加了答案。请检查并告诉我您的反馈

标签: java html image selenium


【解决方案1】:

想法是:

  • 通过className“butik-large-image”获取所有元素
  • 获取所有带有img标签的元素
  • 写你想要的代码ex:获取src图片链接,img是否退出等等。

您所需要求的完整实现如下:

 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); 
            }
        }   
    }

【讨论】:

  • 我做了,但它需要奇怪的 img src,如下所示:
  • 它获得了 3 个正确的图像 src,然后每个类别需要 trendyol.com/Resources/images/bigBoutiquePlaceHolder.png 图像。此外,我的学习链接是 trendyol.com 这个网站标签我正在获取所有精品店的图片 src
  • 我已根据您当前的要求更新了我的答案。您也可以自己更改逻辑。请让我知道您的反馈
  • @little 很高兴收到您的来信,它对您有用。快乐编码
【解决方案2】:

您可以在具有butik-large-image 类的元素下查找&lt;img&gt; 标签

srcClass = driver.findElements(By.cssSelector(".butik-large-image img"));

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-14
    • 1970-01-01
    • 1970-01-01
    • 2019-05-14
    相关资源
    最近更新 更多