html - 尝试计算页面上存在的元素数时出现不明确的匹配错误
问题描述
我正在尝试根据此 HTML 计算选择了多少颗星
<div class="c-fld">
<ul class="js-review-star c-rating">
<li data-value="1" title="Very Bad product" class="c-rating__unit is-selected">
<span class="c-rating__icon c-icon c-icon--star c-icon--large"></span></li>
<li data-value="2" title="Bad product" class="c-rating__unit is-selected">
<span class="c-rating__icon c-icon c-icon--star c-icon--large"></span></li>
<li data-value="3" title="Average" class="c-rating__unit is-selected">
<span class="c-rating__icon c-icon c-icon--star c-icon--large"></span></li>
<li data-value="4" title="Good stuff!" class="c-rating__unit">
<span class="c-rating__icon c-icon c-icon--star c-icon--large"></span></li>
<li data-value="5" title="I love it!" class="c-rating__unit">
<span class="c-rating__icon c-icon c-icon--star c-icon--large"></span></li>
</ul>
</div>
从那以后,我使用这种方法:
def change_review_rating
@count = page.all('.c-rating__unit.is-selected').count
puts = "number of element: #{@count}"
end
我还尝试使用另一种形式的选择器,例如:
CSS
.c-rating .is-selected
路径
//li[contains(@class, 'is-selected')]
但他们都回来了Ambiguous match, found 3 elements matching xpath/css (Capybara::Ambiguous)
。我知道有 3 个元素匹配,这就是为什么我需要代码来计算它。你能帮我弄清楚我的代码有什么问题吗?
解决方案
推荐阅读
- c++ - 是否可以在 C++ 构建中使用 SourceLink 功能“EmbedAllSources”?
- docker - 即使容器中没有任何正在运行的程序,如何保持容器运行?
- sql - 为每个产品填写上一个日期的数据,直到看不到任何变化
- python - 在文档字符串中使用类型别名
- spring-boot - 在 Spring Boot 中的所有集群节点中执行的 Cron 作业
- java - 上传日期数据时出现 Redshift dateformat 错误
- java - 仅匹配不包含数字和字母的单词的正则表达式
- java - DataStructure<> data = new DataStructure<>(__这部分是做什么的?,这里可以放什么?__)
- excel - 单击命令按钮时在定义的范围内添加时间戳
- c++ - Qt Creator 找不到/解析头文件