我想找到一些有关机场替代价格的要素。现在有一些价格没有显示,所以我想要做的只是得到第一个显示的机场价格的文本。
所以我试图做一个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;
}
答案 0 :(得分:3)
你可能只想要:
public string GetAlternativeAirportPrice(By airportPriceLocator)
{
var alternativeAirportPrices = _driver.FindElements(airportPriceLocator);
foreach (var alternativeAirportPrice in alternativeAirportPrices)
{
if (alternativeAirportPrice.Displayed)
return alternativeAirportPrice.Text;
}
return null;
}
,移除break
,因为如果您没有找到显示的价格,这将导致您的foreach
在第一个元素之后退出。
找到价格后return
,您不需要break
。
另请注意,您的函数需要返回类型,我认为您的alternativeAirportPrice.Text
是string
。