2015-10-15 19 views
1

我被建議嘗試使用'StaleElementReferenceException'來處理這個問題,但我不確定如何合併它。如果有人可以提供一些非常感謝的提示。謝謝在緩存中找不到元素 - 可能頁面在查找後發生了變化c#

[Then(@"I select the following list item '(.*)' from my search")] 
    public static void PreSelectedListOptions(string value) 
    { 
     var suggestedList = Driver.Instance.FindElements(By.CssSelector(".list-reset li")); 
     foreach (IWebElement suggestion in suggestedList) 
     { 
      if (value.Equals(suggestion.Text)) 
      { 
       suggestion.Click(); 
      } 
     } 
    } 

回答

3

您應該添加break;如果值被發現其卡,然後將它改變了dom引起下一次迭代的一個問題。

[Then(@"I select the following list item '(.*)' from my search")] 
public static void PreSelectedListOptions(string value) 
{ 
    var suggestedList = Driver.Instance.FindElements(By.CssSelector(".list-reset li")); 
    foreach (IWebElement suggestion in suggestedList) 
    { 
     if (value.Equals(suggestion.Text)) 
     { 
      suggestion.Click(); 
      break; 
     } 
    } 
} 
+0

謝謝你,工作得很好:) –

相關問題