繁体   English   中英

如何在赛普拉斯中获取按钮元素的名称

[英]How to get name of the button element in Cypress

我需要创建一个条件,如果页面上有一个文本值为“Unblock”的按钮,它将提前通过 Cypress 单击。 我可以管理的点击部分和“if”条件,我需要知道如何获取 javascript 来检测哪个按钮具有该文本值“Unblock”,谢谢!

 cy.get(".scroller").eq(1).find("button").then(($scroller) => { let test = $scroller //how to get the text value of the button? console.log(test) }) cy.wait(20000) cy.contains("Unblock").click() cy.wait(3000) cy.contains("Close").click() cy.contains("Back to main page").click()

1.您可以使用 invoke('text') 获取按钮名称:

cy.get('.scroller')
  .eq(1)
  .find('button')
  .invoke('text')
  .then((text) => {
    cy.log(text) //Logs button text
  })
  1. 或者您也可以使用 Jquery text()来获取按钮名称:
cy.get('.scroller')
  .eq(1)
  .find('button')
  .then(($scroller) => {
    cy.log($scroller.text()) //Logs button text
  })

因此,在您的情况下,您可以像这样应用 if-else:

cy.get('.scroller')
  .eq(1)
  .find('button')
  .then(($scroller) => {
    if ($scroller.text().trim() == 'Unblock') {
      //Do Something
    } else {
      //Do Something
    }
  })

您可以使用cy.contains() ,因为它只返回带有所需文本的一个按钮。

cy.contains("button", "Unblock")
  .then(($scrollerButton) => {
    console.log($scrollerButton.text())
  })

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM