有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在Java中使用WebDriver制作“backgroundimage”CSS列表

我试图列出所有的背景图像值,这样我就可以断言它们

我正在创建一个父对象,然后我尝试获取所有值的列表

这就是我到目前为止所做的:

WebElement Assert_Parent = driver.findElement(By.xpath("/html/body/div[1]/section/div[1]/div[2]/div"));  
List<WebElement> Assert_children = Assert_Parent.findElements(By.cssSelector("div.contentInner[name='background-image']"));  
System.out.print(Assert_children);

在每一张照片下面,都有一张特定的照片,这里是html,也许我指错了,或者我想说的不对

<div id="contentInner" class="contentInner" style="background-color: transparent;">
<div class="picturearea content maxclass_15">
<div class="photos" style="margin: 12.78px;" ng-repeat="photo in photos | limitTo:photos.limit">
<div class="photos" style="margin: 12.78px;" ng-repeat="photo in photos | limitTo:photos.limit">
<div class="photos" style="margin: 12.78px;" ng-repeat="photo in photos | limitTo:photos.limit">
   <div class="photo">
      <a class="btnShowPhoto" target="_blank" ng-click="showPhoto(photo, $index+1)">
      <i class="uiMediaThumbImg" ng-style="{'background-image':'url(http://images.myphototab.com/pop%20art/pa64172136-206.jpg)'}" style="background-image: url("http://images.myphototab.com/pop%20art/pa64172136-206.jpg"); border-color: rgb(0, 128, 191);"></i>
      </a>
   </div>
</div>
<div class="photos" style="margin: 12.78px;" ng-repeat="photo in photos | limitTo:photos.limit">
<div class="photos" style="margin: 12.78px;" ng-repeat="photo in photos | limitTo:photos.limit">
<div class="photos" style="margin: 12.78px;" ng-repeat="photo in photos | limitTo:photos.limit">
<div class="photos" style="margin: 12.78px;" ng-repeat="photo in photos | limitTo:photos.limit">
<div class="photos" style="margin: 12.78px;" ng-repeat="photo in photos | limitTo:photos.limit">
<div class="photos" style="margin: 12.78px;" ng-repeat="photo in photos | limitTo:photos.limit">
<div class="photos" style="margin: 12.78px;" ng-repeat="photo in photos | limitTo:photos.limit">
<div class="photos" style="margin: 12.78px;" ng-repeat="photo in photos | limitTo:photos.limit">
   <div class="photo">
      <a class="btnShowPhoto" target="_blank" ng-click="showPhoto(photo, $index+1)">
      <i class="uiMediaThumbImg" ng-style="{'background-image':'url(http://images.myphototab.com/space/sp52774334-206.jpg)'}" style="background-image: url("http://images.myphototab.com/space/sp52774334-206.jpg"); border-color: rgb(0, 128, 191); background-color: transparent;"></i>
      </a>
   </div>
</div>
<div class="photos" style="margin: 12.78px;" ng-repeat="photo in photos | limitTo:photos.limit">
<div class="photos" style="margin: 12.78px;" ng-repeat="photo in photos | limitTo:photos.limit">
<div class="photos" style="margin: 12.78px;" ng-repeat="photo in photos | limitTo:photos.limit">
<div class="photos" style="margin: 12.78px;" ng-repeat="photo in photos | limitTo:photos.limit"></div>

如有任何建议,将不胜感激


共 (1) 个答案

  1. # 1 楼答案

    //partial css search with "*"
    By regExCss = By.cssSelector("[ng-style*='background-image']");
    
    List<WebElement> children = driver.findElements(regExCss);  
    // And if you want to print every child(possibly some attribute)
    // do a loop
    
    int count = children.size();
    
    for(int i= 0; i<count; i++){
        System.out.print(children.get(i).getAttribute("Class") + "\n");
    }