【问题标题】:I need to click this input only if it has "aria-checked ="true"只有当它具有“aria-checked = true”时,我才需要单击此输入
【发布时间】:2020-04-30 05:38:47
【问题描述】:

只有当它具有“aria-checked ="true"”时,我才需要单击此输入

<input class="mat-checkbox-input cdk-visually-hidden" type="checkbox" id="mat-checkbox-131-input" tabindex="0" aria-checked="true" style="" xpath="1">

鲁比:

aria_checked = true
if aria_checked = true
   impressora_etiqueta = "//mat-checkbox[@id='mat-checkbox-23']/label/div"
   page.find(:xpath, impressora_etiqueta).click
end

【问题讨论】:

  • 您可以在查询中包含选择器[aria-checked]

标签: ruby rspec cucumber capybara


【解决方案1】:

有很多方法可以做你想做的事——最简单的可能是

page.first('#mat-checkbox-23[aria-checked="true"]', minimum: 0)&.click

它将查找具有给定 id 和 aria-checked = "true" 的第一个元素,如果存在则单击它。

注意:您的测试和示例 HTML 中的 id 不匹配,所以我从您的测试中选择了 id,根据需要进行调整。此外,您还显示了一个 cdk-visually-hidden 类——如果这实际上使该元素在页面上不可见,那么这将不起作用,您需要在问题中添加更多周围的 HTML,并更好地描述究竟是什么你正在尝试做(你不能点击不可见的元素)

【讨论】:

    猜你喜欢
    • 2017-09-26
    • 2019-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-26
    • 2017-04-07
    • 1970-01-01
    • 2021-03-02
    相关资源
    最近更新 更多