如何使用产品名称获取数组变量中的所有属性值?

克里娜·莫迪

在父 div 中,有 2 个产品可用。我想获得产品名称和产品价格。产品价格将通过属性值获得,产品名称将通过同一 div 中的 h4 标签获得

<span class="price-bg"><div><input type="number" minlength="9" value="22.95"></div></span>
<h4>Men Basic T-shirt</h4>

这是整个 div 的 HTML

<div class="product-list-sidebar">
   <div class="box-product">
      <h4>Men Basic T-shirt</h4>
      <span class="close-img"><i class="fas fa-times"></i></span>
      <div class="row">
         <div class="col-md-8">
            <div class="pro-title-sidebar">Define Product Colors (1/21)</div>
            <div class="color-select-list">
               <div class="list-color" style="background-color: rgb(191, 0, 0); color: rgb(255, 255, 255);"><i class="fa fa-check" style="color: rgb(255, 255, 255);"></i></div>
               <div class="list-color-add"><i class="fa fa-plus" aria-hidden="true"></i></div>
            </div>
            <div class="row price-profit">
               <div class="col-md-6">
                  <form>
                     <label for="">Price</label>
                     <span class="price-bg">
                        <div><input type="number" minlength="9" value="22.95"></div>
                     </span>
                  </form>
               </div>
               <div class="col-md-6"><label for="">Profit Per Sale</label><span>€ 13.95</span></div>
            </div>
         </div>
         <div class="col-md-4">
            <div class="pro-sidebar-img text-center">
               <div class="product-design">
                  <div class="product-design-output"><img src="https://pci-designer-steps-server.shirtee.cloud/product-images/51/837?backgroundColor=%2300000&amp;size=s" style="width: 150px; height: 150px; background-color: rgb(0, 0, 0);"></div>
               </div>
            </div>
         </div>
      </div>
      <div class="d-none">
         <span class="close-img"><i class="fas fa-times"></i></span>
         <div class="favourite-product-color">
            <h5>Please select your favourite product colors</h5>
            <div class="fav-color-list">
               <div class="list-color" style="background-color: rgb(191, 0, 0); color: rgb(255, 255, 255);"><i class="fa fa-check" style="color: rgb(255, 255, 255);"></i></div>
               <div class="list-color" style="background-color: rgb(0, 0, 0); color: rgb(255, 255, 255);"></div>
               <div class="list-color" style="background-color: rgb(5, 57, 12); color: rgb(255, 255, 255);"></div>
               <div class="list-color" style="background-color: rgb(33, 5, 0); color: rgb(255, 255, 255);"></div>
               <div class="list-color" style="background-color: rgb(2, 65, 80); color: rgb(255, 255, 255);"></div>
               <div class="list-color" style="background-color: rgb(245, 217, 2); color: rgb(0, 0, 0);"></div>
               <div class="list-color" style="background-color: rgb(0, 92, 9); color: rgb(255, 255, 255);"></div>
               <div class="list-color" style="background-color: rgb(6, 8, 43); color: rgb(255, 255, 255);"></div>
               <div class="list-color" style="background-color: rgb(206, 206, 206); color: rgb(0, 0, 0);"></div>
               <div class="list-color" style="background-color: rgb(224, 184, 110); color: rgb(0, 0, 0);"></div>
               <div class="list-color" style="background-color: rgb(145, 211, 237); color: rgb(0, 0, 0);"></div>
               <div class="list-color" style="background-color: rgb(197, 2, 66); color: rgb(255, 255, 255);"></div>
               <div class="list-color" style="background-color: rgb(42, 88, 110); color: rgb(255, 255, 255);"></div>
               <div class="list-color" style="background-color: rgb(212, 35, 0); color: rgb(255, 255, 255);"></div>
               <div class="list-color" style="background-color: rgb(21, 147, 158); color: rgb(255, 255, 255);"></div>
               <div class="list-color" style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);"></div>
               <div class="list-color" style="background-color: rgb(11, 37, 128); color: rgb(255, 255, 255);"></div>
               <div class="list-color" style="background-color: rgb(205, 205, 207); color: rgb(0, 0, 0);"></div>
               <div class="list-color" style="background-color: rgb(71, 0, 20); color: rgb(255, 255, 255);"></div>
               <div class="list-color" style="background-color: rgb(255, 78, 0); color: rgb(255, 255, 255);"></div>
               <div class="list-color" style="background-color: rgb(42, 42, 1); color: rgb(255, 255, 255);"></div>
            </div>
         </div>
         <div class="favourite-product-color">
            <h5>Please select your main product colors</h5>
            <div class="fav-color-list color-select-list">
               <div class="list-color" data-optionid="89" style="background-color: rgb(191, 0, 0);"><i class="fa fa-check" style="color: rgb(255, 255, 255);"></i></div>
            </div>
         </div>
      </div>
   </div>
   <div class="box-product">
      <h4>Women Basic T-shirt</h4>
      <span class="close-img"><i class="fas fa-times"></i></span>
      <div class="row">
         <div class="col-md-8">
            <div class="pro-title-sidebar">Define Product Colors (1/10)</div>
            <div class="color-select-list">
               <div class="list-color" style="background-color: rgb(44, 187, 222); color: rgb(0, 0, 0);"><i class="fa fa-check" style="color: rgb(0, 0, 0);"></i></div>
               <div class="list-color-add"><i class="fa fa-plus" aria-hidden="true"></i></div>
            </div>
            <div class="row price-profit">
               <div class="col-md-6">
                  <form>
                     <label for="">Price</label>
                     <span class="price-bg">
                        <div><input type="number" minlength="9" value="22.95"></div>
                     </span>
                  </form>
               </div>
               <div class="col-md-6"><label for="">Profit Per Sale</label><span>€ 13.95</span></div>
            </div>
         </div>
         <div class="col-md-4">
            <div class="pro-sidebar-img text-center">
               <div class="product-design">
                  <div class="product-design-output"><img src="https://pci-designer-steps-server.shirtee.cloud/product-images/333/857?backgroundColor=%2300000&amp;size=s" style="width: 150px; height: 150px; background-color: rgb(0, 0, 0);"></div>
               </div>
            </div>
         </div>
      </div>
      <div class="d-none">
         <span class="close-img"><i class="fas fa-times"></i></span>
         <div class="favourite-product-color">
            <h5>Please select your favourite product colors</h5>
            <div class="fav-color-list">
               <div class="list-color" style="background-color: rgb(44, 187, 222); color: rgb(0, 0, 0);"><i class="fa fa-check" style="color: rgb(0, 0, 0);"></i></div>
               <div class="list-color" style="background-color: rgb(28, 165, 31); color: rgb(255, 255, 255);"></div>
               <div class="list-color" style="background-color: rgb(0, 0, 0); color: rgb(255, 255, 255);"></div>
               <div class="list-color" style="background-color: rgb(6, 8, 43); color: rgb(255, 255, 255);"></div>
               <div class="list-color" style="background-color: rgb(191, 0, 0); color: rgb(255, 255, 255);"></div>
               <div class="list-color" style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);"></div>
               <div class="list-color" style="background-color: rgb(4, 38, 150); color: rgb(255, 255, 255);"></div>
               <div class="list-color" style="background-color: rgb(255, 203, 0); color: rgb(0, 0, 0);"></div>
               <div class="list-color" style="background-color: rgb(255, 78, 0); color: rgb(255, 255, 255);"></div>
               <div class="list-color" style="background-color: rgb(205, 205, 207); color: rgb(0, 0, 0);"></div>
            </div>
         </div>
         <div class="favourite-product-color">
            <h5>Please select your main product colors</h5>
            <div class="fav-color-list color-select-list">
               <div class="list-color" data-optionid="1026" style="background-color: rgb(44, 187, 222);"><i class="fa fa-check" style="color: rgb(0, 0, 0);"></i></div>
            </div>
         </div>
      </div>
   </div>
   <div class="empty-box-product">&nbsp;</div>
   <div class="bottom-btn">
      <div class="row">
         <div class="col-md-6"><a class="back-btn">Back</a></div>
         <div class="col-md-6"><a class="next-btn">Next</a></div>
      </div>
   </div>
</div>

如何在cypress中获取数组中的两个值?我的代码是:

cy.get('h4').then(($ele) => {
    const texts = Array.from($ele, el => el.innerText);
    texts.forEach(text => cy.log(text));
})

// Get price value
cy.get(step.product_list_sidebar).invoke('attr', 'value').then(($style) => {
    const styl = $style
    cy.log(styl)
})
艾克罗伊德

我会分别处理每个数据的提取,然后合并结果。

这假设标题总是有价格(每个价格相同)。

cy.get('h4')
.then($titles => {
  return [...$titles].map(title => title.innerText)
})
.as('titles')

// Wait for prices
cy.get('.price-bg input').eq(0)
  .should('not.have.attr', 'value', '')

cy.get('.price-bg input')
.then($prices => {
  return [...$prices ].map(price => price.getAttribute('value'))
})
.as('prices')

// Merge results
cy.get('@titles').then(titles => {
  cy.get('@prices').then(prices => {
    const titlesAndPrices = titles.map((title, index) => {
      return { title, price: prices[index]}
    })
    console.log(titlesAndPrices)
  })
})

从你的最后一条评论,如果你想要一个字符串

// Merge results
cy.get('@titles').then(titles => {
  cy.get('@prices').then(prices => {
    const titlesAndPrices = titles.map((title, index) => {
      return `${title} - ${prices[index]}`
    })
    console.log(titlesAndPrices)
  })
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Windows中使用Golang获取文件描述(产品名称,原始文件名等)?

在Woocommerce中获取产品名称

如何使用jQuery动态获取产品名称和图像?

使用MySQL前缀特定产品类别中的产品名称

无法从网页获取产品名称

在XAML中获取产品名称

如何使用NLTK获取时间和日期或特定的产品名称?

在Woocommerce谢谢页面中获取数组中的产品名称

Laravel,如果产品ID存储在购物车中,如何从产品表中获取产品名称

显示订购的所有产品名称列表以及客户的名字和姓氏

如何从AssemblyInfo获取产品名称和产品描述?

如何从laravel中包含product_id的订单表中获取产品名称?

可以从模型中获取产品名称

如何使用LINQ查询获取名称以数字开头的产品名称列表?

如何使用laravel从数据透视表中获取产品名称?

如何在API中显示产品名称?

更新现有产品的产品名称

如何使Opencart 1.5.6 url使用产品名称

如何仅使用mysql在magento中提取所有产品ID,Skus,产品名称,说明?

如何选择和显示数组中的产品,并按相同的产品名称排序

识别产品名称中是否存在符号

如何从产品名称中提取品牌

如何在Visual Studio发布后事件中获取产品名称?

使用报废获取产品名称

如何使用单个属性获取产品名称,例如:Product1(color)

使用woocommerce中的表达式获取产品名称

在 html 文本中查找产品名称

无法在 linq 上获取产品名称

列出所有从未售出单件商品的产品。只显示产品名称