C# 在缓存中找不到元素-可能该页在c中查找后已更改#
有人建议我尝试使用“StaleElementReferenceException”来处理这个问题,但我不确定如何合并它。如果有人能提供一些提示,我们将不胜感激。多谢各位C# 在缓存中找不到元素-可能该页在c中查找后已更改#,c#,.net,selenium,selenium-webdriver,C#,.net,Selenium,Selenium Webdriver,有人建议我尝试使用“StaleElementReferenceException”来处理这个问题,但我不确定如何合并它。如果有人能提供一些提示,我们将不胜感激。多谢各位 [Then(@"I select the following list item '(.*)' from my search")] public static void PreSelectedListOptions(string value) { var suggestedList = D
[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
如果找到该值,它会单击,然后更改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;
}
}
}