给定以下条件:
<span data-v-086f077a="" data-v-bf29e118="" class="toggle undefined-undefined small">
<span data-v-086f077a="" class="toggle-label"></span>
<input data-v-086f077a="" type="checkbox" id="tracked-item-toggle-0">
<label data-v-086f077a="" for="tracked-item-toggle-0"><span data-v-086f077a="" class="on-text">Tracked</span>
<span data-v-086f077a="" class="off-text">Not Tracked</span>
</label>
</span>
如何获取输入复选框的显示文本。单击复选框可来回切换,并显示"已跟踪"或"未跟踪"。我只需要知道它是哪一个,这样如果它没有被跟踪,我就可以把它切换到被跟踪。要切换,我使用//span[@class='toggle undefined undefined-small']
我试过很多东西,包括//label[@for='tracked-item-toggle-0'和./span[contains(.,'Not tracked'(]]但无论是否显示,它都会找到它。
任何代码都不会因切换复选框而更改
谢谢!
label
包含两个跨度,其中包含文本Tracked
和Not Tracked
,并且分别具有class
属性on-text
和off-text
。显示这两个标签中的哪一个大概是由CSS控制的。
我的猜测是,有CSS规则控制这两个跨度的display
或visibility
属性,可能是将它们的class
属性与父元素的其他属性结合使用。
也许可以看看CSS(并将其包含在您的问题中(,看看它揭示了什么?