java - 如何使用java selenium中的循环从项目网格中查找相同的元素?

标签 java loops selenium element

我试图通过以下代码查找“添加到购物车”按钮是否存在或未使用来自所有项目框的循环

<div class="page-body">
<div class="product-selectors">
<div class="product-filters-wrapper">
<div class="product-grid">
<div class="item-box">
<div class="item-box">
<div class="item-box">
<div class="item-box">
</div>

在每个项目框中添加以下代码

<div class="item-box">
<div class="product-item" data-productid="20">
<div class="picture">
<div class="details">
   <h2 class="product-title">
   <div class="product-rating-box" title="1 review(s)">
      <div class="description"> 12x optical zoom; SuperRange Optical Image Stabilizer </div>
      <div class="add-info">
         <div class="prices">
            <div class="buttons">
               <input class="button-2 product-box-add-to-cart-button" type="button" onclick="AjaxCart.addproducttocart_catalog('/addproducttocart/catalog/20/1/1 ');return false;" value="Add to cart">
            </div>
         </div>
      </div>
   </div>
</div>

我需要发现所有项目框都存在“添加到购物车”按钮或不使用循环。如果有人可以帮忙,请

最佳答案

如果没有必要,我建议避免循环。除非明确需要这样做,否则您不需要执行循环来找出答案。您可以找到添加到购物车按钮的数量并与已知值进行比较

By byCss = By.cssSelector(".item-box>div input[value='Add to cart']");
int cartCount = driver.findElements(byCss).size();

if (cartCount != 4){
    //fail the test
}

如果您恰好需要循环并检查输入按钮是否存在。

By itemBoxes = By.className("item-box");
By button = By.cssSelector("[type='button'][value='Add to cart']");

List<WebElement> webElementList = driver.findElements(itemBoxes);
for (WebElement element: webElementList){
    //simply taking size if exist it will return 1
    if (element.findElements(button).size() != 1){
        //fail
    }
}

关于java - 如何使用java selenium中的循环从项目网格中查找相同的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30446991/

相关文章:

java - 应用网络流

javascript - 使用 Javascript 循环检查空表单字段

java - 具有单向关系的 Json 和 Jackson stackoverflow 循环

java - 为什么我的函数会出现无限循环?

java - 如何知道javascript代码是否已经在Selenium Java中执行?

python - Amazon Ubuntu Server (EC2) 上的 Selenium 未打开某些链接,但在本地计算机上运行良好

python - 使用 Python selenium 通过 xpath 查找兄弟节点

java - 使用标记的logstash-logback-encoder错误

java - retrofit 动态响应体

Java 7 JRE 安装但未在 OSX Mountain Lion 上启用