Selenium获得带标签的元素

时间:2015-10-12 08:53:27

标签: html selenium-webdriver label

我正在尝试获取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>

1 个答案:

答案 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();

希望它会对你有所帮助:)。