在赛普拉斯中获取本机HTML元素

时间:2019-11-15 15:16:23

标签: javascript dom cypress

如何从赛普拉斯查询中获取基础的本机HTMLElement(或ElementNode ...)?

const el = cy.get('.foo').children().first()
//    ^ this is of type Cypress.Chainable<JQuery<HTMLElement>>

我想访问HTMLElement中的本机el实例。
我尝试过el[0],但结果是类型any

1 个答案:

答案 0 :(得分:1)

在赛普拉斯中,first()是一条将链接到.get()的命令,然后重试整个选择,直到超时。这就是为什么您不能真正从中获取本机元素的原因。

不过,您可以产生命令,并通过向其传递函数来访问.then()中的元素。

例如,来自Cypress documentation on this EXACT question

cy.get('.foo').then(($el) => {
  const el = $el.get(0) //native DOM element
})