2015-10-12 2 views
1

Я пытаюсь получить тексты (ответы) рядом с радиокнопками, чтобы сравнить их с правильным ответом.Selenium get Element с меткой

Вот 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<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(); 

Надеется, что это поможет :)

+0

Он работает! Большое спасибо :) –

+0

WC @OualidL. Пожалуйста, примите ответ, если он действительно работает для вас и почувствует, что он проголосует ... это действительно поможет мне и будет обязательно принять на себя;) :) –