遍历 html 结构并在 a 中找到特定的 href
Iterate through an html structure and find a specific href in an a
有人知道如何使用 cypress 遍历结构并查找特定的 href 吗?
示例代码:
<div class="navigation_outer">
<div class="navigation">
<div class="navitem ">
<div class="glyph">
<i class="fa fa-hashtag"></i>
</div>
<div class="label">Homepage</div>
<a href="/homepage/" title="Homepage"></a>
</div>
<div class="navitem ">
<div class="glyph">
<i class="fa fa-hashtag"></i>
</div>
<div class="label">Live Events</div>
<a href="/homepage/events" title="Live Events"></a>
</div>
<div class="navitem ">
<div class="glyph">
<i class="fa fa-hashtag"></i>
</div>
<div class="label">Filler</div>
<a href="/homepage/filler" title="Filler"></a>
</div>
</div>
</div>
假设我想通过遍历 html 结构来找到 href="/homepage/events"
,然后单击它以将我带到 link。
有办法吗?因为我一直在尝试使用 find()、each()、should()、contain()、invoke(),但似乎对我没有用
感谢任何帮助,谢谢!
编辑!
cy.contains('div', 'Live Events').next().click()
为我工作所以非常感谢你的回复
您可以使用 each
遍历元素,然后单击 href="/homepage/events"
cy.get('a').each(($ele) => {
if ($ele.attr('href') == '/homepage/events') {
cy.wrap($ele).click()
}
})
要直接转到它,请将 href
指定为选择器的一部分
cy.get('.navitem a[href="/homepage/events"]').click()
在上面的选择器中,a[href="/homepage/events"]
用于指定具有 href="/homepage/events"
作为属性的 <a>
元素。它获取您需要的单个元素,因为 href="/homepage/events"
是唯一的。
您也可以使用 title="Live Events"
属性,因为它对于您的目标元素也是唯一的。
cy.get('.navitem a[title="Live Events"]').click()
另一种选择是按标签搜索
cy.contains('div', 'Live Events')
.next() // next element is <a>
.click()
有人知道如何使用 cypress 遍历结构并查找特定的 href 吗?
示例代码:
<div class="navigation_outer">
<div class="navigation">
<div class="navitem ">
<div class="glyph">
<i class="fa fa-hashtag"></i>
</div>
<div class="label">Homepage</div>
<a href="/homepage/" title="Homepage"></a>
</div>
<div class="navitem ">
<div class="glyph">
<i class="fa fa-hashtag"></i>
</div>
<div class="label">Live Events</div>
<a href="/homepage/events" title="Live Events"></a>
</div>
<div class="navitem ">
<div class="glyph">
<i class="fa fa-hashtag"></i>
</div>
<div class="label">Filler</div>
<a href="/homepage/filler" title="Filler"></a>
</div>
</div>
</div>
假设我想通过遍历 html 结构来找到 href="/homepage/events"
,然后单击它以将我带到 link。
有办法吗?因为我一直在尝试使用 find()、each()、should()、contain()、invoke(),但似乎对我没有用
感谢任何帮助,谢谢!
编辑!
cy.contains('div', 'Live Events').next().click()
为我工作所以非常感谢你的回复
您可以使用 each
遍历元素,然后单击 href="/homepage/events"
cy.get('a').each(($ele) => {
if ($ele.attr('href') == '/homepage/events') {
cy.wrap($ele).click()
}
})
要直接转到它,请将 href
指定为选择器的一部分
cy.get('.navitem a[href="/homepage/events"]').click()
在上面的选择器中,a[href="/homepage/events"]
用于指定具有 href="/homepage/events"
作为属性的 <a>
元素。它获取您需要的单个元素,因为 href="/homepage/events"
是唯一的。
您也可以使用 title="Live Events"
属性,因为它对于您的目标元素也是唯一的。
cy.get('.navitem a[title="Live Events"]').click()
另一种选择是按标签搜索
cy.contains('div', 'Live Events')
.next() // next element is <a>
.click()