赛普拉斯-选择另一个元素内的元素-“内”的选择器语法快捷方式

时间:2019-05-21 23:05:27

标签: selector cypress

我的HTML中有一个元素,其中包含一个复选框;就像(实际的输出会有点复杂,因为我们使用的是React + Material UI。但这是一般的想法,一个“容器”中只有一个复选框)

<span class="..." cy-data="checkbox-container">
  ...
  <checkbox ... />
</span>

此刻,我正在使用此复选框:

 cy.get('[data-cy=checkbox-container]').within(() => {
   cy.get('[type="checkbox"]').check();
 })

有写这个的更短方法吗?


cy.get('[data-cy=checkbox-container]').get('[type="checkbox"]')返回整个文档中找到的第一个复选框;不是checkbox-container下的那个。

cy.get('[data-cy=checkbox-container] > [type="checkbox"]')引发“未找到”错误。

2 个答案:

答案 0 :(得分:2)

您已经接近第一个解决方案,您可以实际使用find()来搜索上一个搜索结果中的元素。所以看起来像这样:

cy.get('[data-cy=checkbox-container]')
   .find('[type="checkbox"]')

答案 1 :(得分:0)

我认为您的值在复选框中不是动态的,在这种情况下,您可以使用

cy.get('[type="checkbox"]').check(['name']) right?

您尝试过吗?还是您尝试不同的东西?如果可以的话,您能再解释一下吗?

干杯