0

我有一个类似于下面的标记。

<div id="food-group">
    <input type="radio" name="food" value="Milk"> Cow-Milk<br>
    <input type="radio" name="food" value="Butter" checked> Butter<br>
    <input type="radio" name="food" value="Cheese"> Cheddar-Cheese
<div>

而且我需要在每次输入(牛奶、切达奶酪)之后使用 Java 中的 Selenium WebDriver 获取标签。我可以像这样获取组件(并对其进行迭代):

driver.findElements(By.xpath([//div[@id='food-group']/input[@type='radio')).

但我找不到获取文本的方法。

4

2 回答 2

0

输入元素有两种类型的“文本”属性。在您的示例中:

 <input type="radio" name="food" value="Milk"> Cow-Milk<br>

要获得“牛奶”,您可以:

getAttribute("value");

要获得“牛奶”,您可以:

getText();
于 2012-08-01T11:48:48.543 回答
0
You can use 

    List<WebElements> myElements = driver.findElements(By.xpath([//div[@id='food-group']/input));

for(WebElement e : myElements) {
        String textValue = e.getAttribute("value");
        if(textValue.equals("Milk"){
          return el.getText();
        }
        else if(textValue.equals("Butter") {
          return el.getText();
        }
        else if(textValue.equals("Cheese") {
          return el.getText();
        }
    }
于 2018-03-23T16:16:48.023 回答