我需要获取数据id的值,但当我使用下面的代码时,它不会返回任何值。
cy.get('[data-nemo=token]')
.invoke('attr', 'data-id').then(dataId => {
cy.log('dataId : ', dataId);`enter code here`
});
谢谢,
根据Cypress文档,您可以使用cy.invoke
来调用jQuery方法。所以,就像在jQuery中一样,您可以执行
$('[data-nemo=token]').data('id');
Cypress是
cy.get('[data-nemo=token]').invoke('data', 'id');
如果您想要使用该值,您可以使用.then
或使用.as
创建一个别名,并在稍后的测试中引用该别名:
cy.get('[data-nemo=token]')
.invoke('data', 'id')
.then(dataId => cy.log('dataId : ', dataId));
或
cy.get('[data-nemo=token]')
.invoke('data', 'id')
.as('dataId');
cy.get('@dataId')
.then(dataId => cy.log('dataId : ', dataId));
你能试试下面的代码,看看它是否有效吗。尝试使用data()
或attr()
选项获取id;
cy.get('[data-nemo=token]').then(($div) => {
const dataId = Cypress.$($div).attr("data-id");
// or
const dataID = Cypress.$($div).data("id");
// or
const mydataID = Cypress.$(this).attr("data-id");
console.log(mydataID);
});