我是 cypress 和 Javascript 的新手,請幫助我我想閱讀標簽內的文本,并且需要驗證/斷言文本應該使用字串“Saved”這個 div 標簽是 <div role=" 的超級子級行”...> 標簽
下面是 HTML 代碼片段
<div ng-repeat="(rowRenderIndex, row) in rowContainer.renderedRows track by $index" class="ui-grid-row ng-scope" ng-style="Viewport.rowStyle(rowRenderIndex)" ng-class="{'ui-grid-row-selected': row.isSelected}" style="">
<div role="row" ui-grid-row="row" row-render-index="rowRenderIndex" class="ng-isolate-scope">
<div ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.uid" ui-grid-one-bind-id-grid="rowRenderIndex '-' col.uid '-cell'" class="ui-grid-cell ng-scope ui-grid-disable-selection ui-grid-coluiGrid-0009" ng-class="{ 'ui-grid-row-header-cell': col.isRowHeader }" role="gridcell" ui-grid-cell="" id="1634105595764-0-uiGrid-0009-cell">
<div class="ui-grid-cell-contents ng-binding ng-scope">Saved</div></div>
但是我無法獲取元素位置,請幫助我如何獲取第三個 div 標簽文本的 web 元素
我使用了上面的代碼,但是 cypress 拋出了一個錯誤
cy.get(div).contains('Saved')
預期找到元素:#31 634108833080-0-uiGrid-0009-cell > .ui-grid-cell-contents,但從未找到。
uj5u.com熱心網友回復:
在您提供的代碼示例中,是div
一些變數還是什么?
如果我使用你的 html 片段,用 cypress 加載它并呼叫cy.get('div').contains('Saved').should('exist')
測驗成功。
uj5u.com熱心網友回復:
您可以直接使用 contains 然后檢查文本是否存在或可見。
cy.contains('.ui-grid-cell-contents', 'Saved').should('exist')
cy.contains('.ui-grid-cell-contents', 'Saved').should('be.visible')
uj5u.com熱心網友回復:
您正在尋找第 3 個 div 末尾的 id,它具有以下運算式
id="1634105595764-0-uiGrid-0009-cell"
但錯誤訊息前面有一個 3預期找到元素:#31 634108833080-0-uiGrid-0009-cell。
所以你有沒有3
在選擇器的前面添加以獲得第三個專案?
也許你想要
const div = '1634105595764-0-uiGrid-0009-cell'
cy.get(div) // will give all cols
.eq(2) // pick the 3rd col (indexes start at 0)
.contains('Saved')
或者
const div = '1634105595764-0-uiGrid-0009-cell'
cy.get(div) // will give all cols
.eq(2) // pick the 3rd col (indexes start at 0)
.find('.ui-grid-cell-contents')
.contains('Saved')
這些給你最里面的div。如果您想要列 div,請添加.parent()
.
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/311108.html
標籤:javascript html css 柏