首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cypress:使用多个选择器和条件

Cypress:使用多个选择器和条件
EN

Stack Overflow用户
提问于 2021-12-27 06:44:42
回答 2查看 1K关注 0票数 1

我有多个登录页面,如下:

第一个登录页

输入元素如下:

代码语言:javascript
复制
<input placeholder="name@email.com" class="input" name="email" type="text" value="">

Cypress选择器如下:

代码语言:javascript
复制
cy.get('input[name="email"]').as('email').click();

第二个登录页面:

输入元素如下:

代码语言:javascript
复制
<input id="email" type="email" required="required" class="input">

Cypress选择器如下:

代码语言:javascript
复制
cy.get('input[id="email"]').as('email').click();

如果我们注意到,第一个输入元素具有name=email,而第二个输入元素具有id=email

是否有一种方法可以编写一个柏树选择器,如果找不到它可以查找选择器input[name="email"],它可以查找input[id="email"]

EN

Stack Overflow用户

发布于 2021-12-27 08:32:52

是的,有。根据文档的说法,它被称为柏树条件测试。

根据您可能想要的内容,有许多方法可以像在文档中看到的那样完成这一任务。

下面是我们可以做的事情

代码语言:javascript
复制
  cy.get('input[name="email"]').then(($btn) => {
    if ($btn.length) {
      // do something if it's active
      $btn[0].click();
    } else {
      // do something else
      cy.get('input[id="email"]').as('email').click();
    }
  })
票数 3
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70492400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档