有誰如何迭代結構并使用柏樹尋找特定的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>
假設我想href="/homepage/events"通過迭代該 html 結構來找到它,然后單擊它以將我帶到該鏈接。
有沒有辦法做到這一點?因為我一直在嘗試使用 find()、each()、should()、contain()、invoke(),但似乎沒有什么對我有用
任何幫助表示贊賞,謝謝!
編輯!
cy.contains('div', 'Live Events').next().click()為我作業,非常感謝您的回復
uj5u.com熱心網友回復:
要直接轉到它,請將 指定href為選擇器的一部分
cy.get('.navitem a[href="/homepage/events"]').click()
在上面的選擇器中,a[href="/homepage/events"]用于指定具有作為屬性的<a>元素。href="/homepage/events"它獲得了您需要的單個元素,因為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()
uj5u.com熱心網友回復:
您可以使用each遍歷元素,然后單擊href="/homepage/events"
cy.get('a').each(($ele) => {
if ($ele.attr('href') == '/homepage/events') {
cy.wrap($ele).click()
}
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/481713.html
