我正在尝试获取radiobuttons旁边的文本(答案),以便将它们与正确的答案进行比较。
这是html部分:
<tbody>
<tr>
<td class="middle" width="15">
<input name="multiple_choice_result" value="0" id="0" type="radio">
</td>
<td class="middle">
<label for="0">FIRST ANSWER</label> // This text
</td>
</tr>
<tr>
<td class="middle" width="15">
<input name="multiple_choice_result" value="1" id="1" type="radio">
</td>
<td class="middle">
<label for="1">SECOND ANSWER</label> //This text
</td>
</tr>
<tr>
<td class="middle" width="15">
<input name="multiple_choice_result" value="2" id="2" type="radio">
</td>
<td class="middle">
<label for="2">THIRD ANSWER</label> //This text
</td>
</tr>
</tbody>
答案 0 :(得分:1)
在Xpath下方使用: -
//label[contains(.,'ANSWER')]
注意: - 上面的xpath将返回3个元素,因此我使用List
List<WebElement> allanswer = driver.findElements(By.xpath("//label[contains(.,'ANSWER')]"));
for(WebElement answer: allanswer){
System.out.println(answer.getText());
}
如果您想要任何特定答案,请使用: -
//label[contains(.,'FIRST ANSWER')]
根据您的需要将FIRST替换为第二或第三
String answer =driver.findElement(By.xpath("//label[contains(.,'FIRST ANSWER')]")).getText();
希望它会对你有所帮助:)。