javascript 如何能够处理元素存在和不存在的两种情况?

hrirmatl  于 11个月前  发布在  Java
关注(0)|答案(1)|浏览(121)

我希望有能力处理两种情况:元素存在和不存在。
我所有的试验都以一个异常结束,当它没有找到该项目,因此我不能做我想要的东西在这种情况下或错误,使用then.catch或then.fail是无效的。
例如,我的最后一个试验是:

cy.get('.ant-breadcrumb-link').then(($element) => {
    if ($element.is(':exists')) {
        // Element exists, perform actions
        cy.log('Element exists');
        // ... your actions when the element exists ...
    } else {
        // Element does not exist, perform other actions
        cy.log('Element does not exist');
        // ... your actions when the element does not exist ...
    }
});

字符串
所以当cy.get('.ant-breadcrumb-link')失败时,我不会进入then()部分。
我如何才能实现我的目标?

06odsfpq

06odsfpq1#

当你遇到检查元素是否存在的问题时,你总是可以利用jQuery。我会使用 cy.document 获取document对象,并使用 Cypress.$(在cypress中等价于jquery)。一个示例如下所示:

cy.document().then((document) => {
  const $element = Cypress.$('.ant-breadcrumb-link', document);
  
  if ($element.length > 0) {
    // ... your actions when the element exists ...
  } else {
    // ... your actions when the element does not exist ...
  }
});

字符串

SIDENOTE:

cy.get()将继续搜索元素,如果没有找到元素,则抛出异常。

相关问题