【问题标题】:Cannot click on radio button - Cypress无法单击单选按钮 - 赛普拉斯
【发布时间】:2021-01-03 15:26:06
【问题描述】:

我无法与输入元素交互来选择第一个单选按钮。

以下是我迄今为止尝试过的;

export function clickOnMediaAutoLevel(level) {
  // button is not clickable without force: true, it is set to hidden in the CSS
  cy.get(locators.screen)
    .within(($screen) => {
      cy.get('div.radio-buttons')
      .contains('Media Audio Level')
      .find('input')
      .click( { force: true } )
    })
  cy.pause()        
}

我做错了什么?

【问题讨论】:

  • 发生了什么?控制台上是否有任何错误? HTML 是什么样子的?

标签: javascript cypress


【解决方案1】:

您的输入有一个“隐藏”道具,它可能会阻止触发该事件(就像“禁用”道具一样)。

隐藏的全局属性是一个布尔属性,指示该元素尚未相关或不再相关。例如,它可用于隐藏在登录过程完成之前无法使用的页面元素。 浏览器不会渲染带有 hidden 属性集的元素。

不得使用 hidden 属性来隐藏仅来自一个演示文稿的内容。如果某些内容被标记为隐藏,则它会在所有演示文稿中隐藏,包括例如屏幕阅读器。

隐藏元素不应与非隐藏元素链接,隐藏元素的后代元素仍然处于活动状态,这意味着脚本元素仍然可以执行,表单元素仍然可以提交。 元素和脚本可能会引用隐藏在其他上下文中的元素。

https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/hidden

尝试模拟点击标签,因为现在您不会在应用程序中点击输入本身。您应该考虑在这种情况下完全删除“隐藏”道具。

【讨论】:

    【解决方案2】:

    尝试使用.check() 不使用.click()。来源-https://docs.cypress.io/api/commands/check.html#Syntax

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多