2017-11-15 2 views
0

テキストが '投稿による証憑'のところで要素が表示されるまで待つことができます。しかし、私が以下を試してみると、
は暗黙変数としてvoidを代入することができず、OpenQA.Seleinium.ByからOpenQA.Seleinium.ISearchContentに変換することはできません。要素をチェックする方法は、テキストでは見えません。

何私は以下を修正するために何をする必要があります:

 public bool CheckBasketHolidayVoucherTextIsNotPresent(string basketLocation) 
    { 
     var topBasketItems = _driver.FindElements(CommonPageElements.TopBasketItems); 
     var bottomBasketItems = _driver.FindElements(CommonPageElements.BottomBasketItems); 

     var basketItems = basketLocation.ToLower() == "top" ? topBasketItems : bottomBasketItems; 

     By selector = basketLocation.ToLower() == "top" ? 
      CommonPageElements.TopBasketItems : 
      CommonPageElements.BottomBasketItems; 

     var test = _driver.WaitToBeInvisible(selector.FindElements(CommonPageElements.TopBasketItems).Text.Contains("Vouchers by post"), 5); 
     return test.All(b => b.Text != "Vouchers by post"); 
    } 
+0

HTMLを入力してください。 –

答えて

0

あなたの項目(別)の位置を知ると、そのするメソッドを作成します要素が0秒間表示されるのを待ちます(ページに要素があるかどうかを即座に確認します)。

public bool isElementVisible(By locator) 
{ 
    try 
    { 
     new WebDriverWait(driver, TimeSpan.FromSeconds(0)).Until(ExpectedConditions.ElementExists(locator)); 
     try 
     { 
      new WebDriverWait(driver, TimeSpan.FromSeconds(0)).Until(ExpectedConditions.ElementIsVisible(locator));    
     } 
     catch (WebDriverTimeoutException) 
     { 
      //Element exists but is not visible, return false or do other stuff 
      return false 
     } 
    } 
    catch (WebDriverTimeoutException) 
    { 
     //Element does not exist, return false or do other stuff 
     return false; 
    } 
    //If code reaches this point, element both exists and is visible 
    return true; 
} 

TimeSpan秒または分を調整して、要素が好きなだけ表示されるのを待つことができます。おそらくタイムアウトをパラメータとするタイムアウトを持つオーバーロードを作成し、タイムアウトのない「デフォルト」関数はタイムアウト0で自分自身を呼び出します。

結局のところ、いくつかのコード行を追加することができます要素のテキストをチェックし、必要なものがあれば返す関数の名前です。適切な値を返します。

0

すると、このコードを試してみてください。

var wait = new WebDriverWait(_driver, new TimeSpan(0, 0, seconds)); 
wait.Until(ExpectedConditions.InvisibilityOfElementLocated(selector)); 
関連する問題