2017-11-10 12 views
0

代替空港の価格でいくつかの要素を見つけたいと思います。今私は何をしようとしているので、表示されていないいくつかの価格が最初に表示された空港価格のテキストを取得しています。表示されている場合、要素のテキストを返す方法

私は代わりの空港価格を見てforeachループをしようとしています。空港価格が表示されたら、ループから抜け出し、単にこの価格のテキストを返します。

問題は私がalternativeAirportPrice.Text;を実装して返すのに苦労していることです。私はこれを実装する方法を尋ねたい。

public void GetAlternativeAirportPrice(By airportPriceLocator) 
    { 
     var alternativeAirportPrices = _driver.FindElements(airportPriceLocator); 

     foreach (var alternativeAirportPrice in alternativeAirportPrices) 
     { 
      if (alternativeAirportPrice.Displayed) 
       return alternativeAirportPrice.Text; 
       break; 

     } 
     return alternativeAirportPrice.Text; 
    } 

答えて

3

あなたはおそらくしたい:

public string GetAlternativeAirportPrice(By airportPriceLocator) 
{ 
    var alternativeAirportPrices = _driver.FindElements(airportPriceLocator); 

    foreach (var alternativeAirportPrice in alternativeAirportPrices) 
    { 
     if (alternativeAirportPrice.Displayed) 
      return alternativeAirportPrice.Text; 
    } 

    return null; 
} 

、それはあなたが表示された価格を見つけることができませんでした場合は、あなたのforeachは最初の要素の後に終了するようになりますよう、ごbreakを取り除きます。

価格とreturnを見つけたら、breakは必要ありません。

また、あなたの関数に戻り値の型が必要であることに注意してください。私はあなたのalternativeAirportPrice.Textstringであると考えます。

+0

ありがとう、私は近くにいた。私は公の文字列でそれを試しておくべきだった – BruceyBandit

関連する問題