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

I need to click this input only if it has "aria-checked ="true"

只有当输入 "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">

Ruby:

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

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

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

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

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