当前位置: 首页 > 知识库问答 >
问题:

如何在量角器中选择具有相同腹板元素的复选框

公羊兴文
2023-03-14

我试图用量角器Jasmine编写一个E2E测试的自动化脚本。但是,在选择复选框时,所有web元素对于所有三个复选框都是相同的。我想选择第二个复选框。

有人能指导我解决这个问题吗?下面是Angular JS代码片段,供您参考。

甚至xpath和CSSSelector值也没有帮助,因为它们也是一样的。

CSSSelector:#checks-xpath://*[@id=“checks”]

我看到的唯一区别的标签是[类=“ng绑定”]。

代码段:

<tr x-ng-repeat="productOffering in allProductList" class="prod-input-select ng-scope">
<td>
<input ng-show="productOffering.added == 'N'" name="checks" id="checks" type="checkbox" ng-click="addTempProductToBeAdded($event,productOffering)" ng-model="productOffering.isSelected" class="ng-pristine ng-valid">
</td>
<td class="ng-binding">
Product1
</td>
</tr>
<tr x-ng-repeat="productOffering in allProductList" class="prod-input-select ng-scope">
<td>
<input ng-show="productOffering.added == 'N'" name="checks" id="checks" type="checkbox" ng-click="addTempProductToBeAdded($event,productOffering)" ng-model="productOffering.isSelected" class="ng-pristine ng-valid">
</td>
<td class="ng-binding">
Product2
</td>
</tr>
<tr x-ng-repeat="productOffering in allProductList" class="prod-input-select ng-scope">
<td>
<input ng-show="productOffering.added == 'N'" name="checks" id="checks" type="checkbox" ng-click="addTempProductToBeAdded($event,productOffering)" ng-model="productOffering.isSelected" class="ng-pristine ng-valid">
</td>
<td class="ng-binding">
Product3
</td>
</tr>

干杯,阿希什

共有2个答案

洪国兴
2023-03-14

我认为你应该换身份证来区分你的支票

<tr x-ng-repeat="productOffering in allProductList" class="prod-input-select ng-scope">
    <td>
    <input ng-show="productOffering.added == 'N'" name="checks" id="checks-0-{{$index}}" type="checkbox" ng-click="addTempProductToBeAdded($event,productOffering)" ng-model="productOffering.isSelected" class="ng-pristine ng-valid">
    </td>
    <td class="ng-binding">
    Product1
    </td>
</tr>
<tr x-ng-repeat="productOffering in allProductList" class="prod-input-select ng-scope">
    <td>
    <input ng-show="productOffering.added == 'N'" name="checks" id="checks-1-{{$index}}" type="checkbox" ng-click="addTempProductToBeAdded($event,productOffering)" ng-model="productOffering.isSelected" class="ng-pristine ng-valid">
    </td>
    <td class="ng-binding">
    Product2
    </td>
</tr>
<tr x-ng-repeat="productOffering in allProductList" class="prod-input-select ng-scope">
    <td>
    <input ng-show="productOffering.added == 'N'" name="checks" id="checks-2-{{$index}}" type="checkbox" ng-click="addTempProductToBeAdded($event,productOffering)" ng-model="productOffering.isSelected" class="ng-pristine ng-valid">
    </td>
    <td class="ng-binding">
    Product3
    </td>
</tr>

也许你可以尝试使用启动与选择器

CSS选择器:[id=“checks”]

xpath://*[以(@id,'checks')开头][@type=“checkbox”and(@checked)]

宫俊才
2023-03-14

正如Tony在评论中提到的,你不能在DOM中有多个具有相同id的元素。

现在让我们假设它不在你的手中得到纠正,你仍然可以使用下面的选择器来选择第二个复选框

元素。元素.css(输入[名称=“检查”])[1]元素.all(由.css(输入[名称=“检查”])))。get(1)

请检查哪个适合您。

 类似资料:
  • 我的页面上有一个下拉菜单。我测试量角器的目标是单击此下拉菜单中的一个选项,并让量角器检查结果: 我的量角器测试看起来像: 如果你想知道的话,ptor.ignoreSynchronization是启用的,因为我的网页不断地轮询后端的一些更新。 量角器在我运行测试时抛出以下错误: 我不明白这个错误是关于什么的。这个元素肯定是可见的,因为当我查看页面的源代码时,我可以在DOM结构中看到它。 善意的忠告

  • 比如说我有一张30000人的名单。我想从一组8种可能的水果中选择4次。然而,我希望任何名字选择任何水果两次的概率是20%。我将如何在代码中进行此操作。 例如:列出30000个水果名称: 苹果 香蕉 橙色 葡萄 猕猴桃 菠萝 西瓜 火龙果 我希望John选择苹果香蕉橙或苹果香蕉橙香蕉或龙果西瓜葡萄或葡萄猕猴桃的概率精确到20%。 换句话说,我希望80%的名字没有选择匹配的水果,20%的名字有一对匹配

  • 我想计算选择属性中的选项,但我的测试失败了,这是我的规范: 它给了我错误: C:\wamp\www\First-angular-App

  • 问题内容: 如何使用选择器在CSS中选择元素的上述元素 在这里,我想使用class ,以便可以使用CSS选择器获取上述元素。 问题答案: 纯CSS不可能做到这一点…

  • 问题内容: 我的表是: 我想列出一组具有相同疾病的患者。pid和did分别是患者和疾病表中的主键,并且是has_disease表中的外键。 样本数据: 耐心 疾病 has_disease 以上数据的答案是因为它们具有完全相同的疾病1和3,即疟疾和病毒热。我想知道如何在mysql中实现这一点。 。 问题答案: 该查询返回给我们患者及其疾病。 通过完整的剂量列表比较2组患者,并将pid保留为相同的剂量

  • 问题内容: 我正在寻找一个选择器,如果它们具有特定的子元素,它将选择所有元素。例如,选择所有带孩子的人。 可能? 问题答案: 如果元素包含特定的子元素,是否可以选择? 不幸的是还没有。 在CSS2和CSS3选择器的规格不允许任何形式的亲本选配。 关于规格变更的注意事项 从现在开始,这是关于此帖子准确性的免责声明。CSS中的父选择器已经讨论了很多年。由于尚未达成共识,因此变化不断发生。我将尝试使此答