Checkbox Cypress:单击TD中带有特定文本的TD旁边的复选框
这可能吗 我的桌子是这样的:Checkbox Cypress:单击TD中带有特定文本的TD旁边的复选框,checkbox,html-table,cypress,Checkbox,Html Table,Cypress,这可能吗 我的桌子是这样的: [ ] Address string 1 [ ] Address string 2 ... 标记: <td> <div> <input class="hb-checkbox type="checkbox" id="byggSkjemaliste-element0-0-adresse-skjema-element-0">
[ ] Address string 1
[ ] Address string 2
...
标记:
<td>
<div>
<input class="hb-checkbox type="checkbox" id="byggSkjemaliste-element0-0-adresse-skjema-element-0">
<div class="hb-label" data-e2e-selector="byggSkjemaliste-element0-0-adresse-skjema-element-0hb-checkbox-label">
<label for="byggSkjemaliste-element0-0-adresse-skjema-element-0" id="byggSkjemaliste-element0-0-adresse-skjema-element-0-label"></label>
</div>
</div>
</td>
<td>
Address string"
</td>
如果要遵循DOM布局,请使用导航命令,如.prev()
,文档中会说
获取一组元素中每个元素的前一个同级
cy.contains('td','Address string 1')//包含要查找的文本的单元格
.prev('td')//上一个同级单元(td)
.find('input')//在该单元格中拾取输入
.检查();
以上是基于DOM结构的第一个尝试,但我更喜欢以下Cypress命令(为了简单,可能更健壮)
cy.contains('tr','Address string 1')//包含地址的行
//从tr的所有孩子身上看,
//因此,发现标签向下4层
.find('input')//选择该行中的输入
.检查();
这里的一个问题是,尽管您仔细地建立了一个链接到输入的标签,但它不包含任何有用的文本。如果该标签位于“地址字符串1”附近,则允许您执行例如findByRole(“复选框”、{name:“地址字符串1”})
。请注意,该标签实际上并不包含该文本。是的,我阅读了您的评论-我将不得不修改。看起来文本在下一个单元格中。最后,我认为一切都很顺利