xpath获取标签内的复选框

Eti*_*nne 4 xpath text label

我有这个代码

<label>
  <input type="radio" checked="checked" value="fOejPdlZIx83HA" name="btnRad">
  Test1
</label>
<label>
  <input type="radio" checked="checked" value="fdsaf4waff4sssd" name="btnRad">
  Test2
</label>
<label>
  <input type="radio" checked="checked" value="fg43fasd43wsat4" name="btnRad">
  Test3
</label>
Run Code Online (Sandbox Code Playgroud)

我希望通过xpath根据标签文本访问单选按钮

我已经尝试过多种方法:

//input[@name='btnRad]']/following::*[contains(text(),'Test3')]
//label[text()='Test3']/input[@name='btnRad']
//*[contains(text(),'Test3')]
Run Code Online (Sandbox Code Playgroud)

即使是最后一个也没有给我任何回报,所以xpath认为"Test3"不是标签的文字......任何人都知道如何做到这一点?

Rob*_*bin 7

您的表达式失败,因为您label有多个文本节点:在input和之前的空字符串Test3.您使用的contains方式意味着它只会检查第一个文本节点,即空字符串.

解决这个问题的两种方法:

有关更详细的说明,请参阅如何使用Python在多行文本中搜索XPath中的内容?.