【问题标题】:Test prices on shop findelements?在商店 findelements 上测试价格?
【发布时间】:2017-07-06 18:05:17
【问题描述】:

我的学校项目没什么问题。

这是 Selenium / Java 中的商店测试。这是购物查询:https://www.amazon.com/s/ref=nb_sb_noss_2?url=search-alias%3Daps&field-keywords=nothing+car&rh=i%3Aaps%2Ck%3Anothing+car

我尝试让所有产品的价格都在测试中。

除此之外还有什么办法吗?

String string = findelement(by.xpath("//[@id='result_0']/div/div/div/div[2]/div[2]/div[1]/div[1]/a/span/span"))
System.out.println(string);

打印该值后,我需要检查该值是否

【问题讨论】:

  • 您能否澄清您的问题:在测试中获取所有产品价格检查价值是否?可以分享一下findelement()是什么吗?常见的findElement() 方法不会返回一个可以与20$ 比较的,而是一个WebElement...
  • 好的,我需要找到一个

标签: java selenium xpath


【解决方案1】:

你可以尝试使用

//li[starts-with(@id,"result_")]//span[@class="sx-price-whole" and position()=last()]

获得所有最高价格(只有美元,没有美分)

//li[starts-with(@id,"result_")]//span[@class="sx-price-whole" and position()=last() and .<20]

获取低于 20 的价格

【讨论】:

    【解决方案2】:

    这里是获取所有 li 元素的定位器,最低价格

    //ul[@id='s-results-list-atf']//li[contains(@id,'result')][.//span[contains(@class,'sx-price-whole')][number(./text())<20]]
    

    如果你想获得 MAX price li 元素 - 使用这个:

    //ul[@id='s-results-list-atf']//li[contains(@id,'result')][.//span[contains(@class,'sx-price-whole')][last()][number(./text())<20]]
    

    解释:

    //ul[@id='s-results-list-atf']//li[contains(@id,'result')] - 获取所有 li里面的元素ul带货

    [.//span[contains(@class,'sx-price-whole')][...]] - 获取所有价格 的商品,以及 1 个属性以获得价格低于 20 的商品

    [number(./text())&lt;20] - 对价格的元素进行排序

    【讨论】:

      猜你喜欢
      • 2018-09-01
      • 2017-04-13
      • 1970-01-01
      • 1970-01-01
      • 2020-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多