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

入力要素には、2 種類の「テキスト」プロパティがあります。あなたの例では:

 <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 に答える