这是我的柏树代码:
cy.get(`${sitestovisit.searchBoxFormID} > form`)
.should('have.attr', 'target')<br>
.invoke('removeAttr', 'target')
sitestovisit.searchBoxFormId
包含来自JSON的数据,并且其工作正常,但是它表明表单中有一个target属性,但是当我尝试删除它时,它不起作用。
当我将上述代码替换为:
cy.get('#booking_search > form')
.invoke('removeAttr', 'target')
它工作正常,这是什么问题?我不能直接使用,因为我需要循环使用 Here's the output
答案 0 :(得分:2)
失败,因为您在调用.should('have.attr', 'target')
之前有这个断言.invoke('removeAttr', 'target')
。
这将起作用
cy.get(`${sitestovisit.searchBoxFormID} > form`)
.invoke('removeAttr', 'target')
然后..如果您需要在删除目标属性之前查看其是否存在,我会这样做。
cy
.get(`${sitestovisit.searchBoxFormID} > form`)
.should('have.attr', 'target')
cy
.get(`${sitestovisit.searchBoxFormID} > form`)
.invoke('removeAttr', 'target')
答案 1 :(得分:0)
我将使用cy.get对元素yield使用then语句:
cy.get(`${sitestovisit.searchBoxFormID} > form`)
.then( $elem => {
$elem[0].removeAttribute('target');
})