获取 Cypress 中的原生 HTML 元素

ᆼᆺᆼ*_*ᆼᆺᆼ 16 javascript dom cypress

如何从 Cypress 查询中获取底层本机HTMLElement(或Element或...)?Node

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

我想HTMLElement访问el.
我已经尝试过el[0],但结果是类型any

ist*_*iuk 14

在 cypress 中,first()是一个将链接到.get()整个选择并重试直到超时的命令。这就是为什么你无法真正从中获取原生元素。

但是,您可以放弃该命令,并.then() 通过向其传递函数来访问其中的元素。

例如,来自赛普拉斯关于这个确切问题的文档

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

  • 事实上,到 2023 年,它对我来说是有效的;+1 伙计。 (2认同)