如何根据同一 JavaScript 父级中另一个子级的文本获取子级的值
How to get value of a child based on the text of another child within the same JavaScript parent
所以我希望能够使用 Cypress 从下面的 table 中获取“文本 B”,但尝试了很多方法,但我只能获取“Party B”。
<div class="table">
<div class="label">
<span class="labelText">Party A</span>
</div>
<div class="text">Text A</div>
</div>
<div class="table">
<div class="label">
<span class="labelText">Party B</span>
</div>
<div class="text">Text B</div>
</div>
我一直在使用cy.get(div[class="table"]
).contains(div[class="label"]
, "乙方").click()点击"乙方"的文字,但不知道如何点击同一父项的另一个子项。
要获取包含“乙方”的table,请在.contains()
中指定选择器
cy.contains('div.table', 'Party B') // returns the table with "Party B" inside somewhere
.find('div.text') // find the 2nd child which has class "text"
.click()
如果您知道“文本 B”是实际文本,您可以使用多种变体
cy.contains('div.text', 'Text B')
.click()
如果您想先导航到 div[class="table"]
,然后导航到 div[class="label"]
cy.contains('Party B') // returns the <span> owning "Party B"
.click()
.parent('div.label') // go up to div[class="label"]
.sibling('div.text') // go to next element at that level
.click()
在链中进行多次点击时要小心,通常它们有 side-effects。
每次点击后最好开始一个新的链。
所以我希望能够使用 Cypress 从下面的 table 中获取“文本 B”,但尝试了很多方法,但我只能获取“Party B”。
<div class="table">
<div class="label">
<span class="labelText">Party A</span>
</div>
<div class="text">Text A</div>
</div>
<div class="table">
<div class="label">
<span class="labelText">Party B</span>
</div>
<div class="text">Text B</div>
</div>
我一直在使用cy.get(div[class="table"]
).contains(div[class="label"]
, "乙方").click()点击"乙方"的文字,但不知道如何点击同一父项的另一个子项。
要获取包含“乙方”的table,请在.contains()
cy.contains('div.table', 'Party B') // returns the table with "Party B" inside somewhere
.find('div.text') // find the 2nd child which has class "text"
.click()
如果您知道“文本 B”是实际文本,您可以使用多种变体
cy.contains('div.text', 'Text B')
.click()
如果您想先导航到 div[class="table"]
,然后导航到 div[class="label"]
cy.contains('Party B') // returns the <span> owning "Party B"
.click()
.parent('div.label') // go up to div[class="label"]
.sibling('div.text') // go to next element at that level
.click()
在链中进行多次点击时要小心,通常它们有 side-effects。
每次点击后最好开始一个新的链。