c# - 在缓存中找不到元素 - 也许页面在查找后已更改 c#

标签 c# .net selenium selenium-webdriver

有人建议我尝试使用“StaleElementReferenceException”来处理这个问题,但我不确定如何合并它。如果有人可以提供一些提示,我们将不胜感激。谢谢

    [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;
        }
    }
}

关于c# - 在缓存中找不到元素 - 也许页面在查找后已更改 c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33146880/

相关文章:

java - 如何在 Selenium 中定位具有特定文本的跨度? (使用Java)

c# - 将代码动态附加到方法 .Net-Core

c# - 清理 URL 中的外来字符/口音

.net - AssemblyInfo.cs 有何用途?

javascript - Protractor - 如何通过自定义(非 HTML)属性定位元素?

c# - 预期 [object Undefined] undefined 是一个字符串 (IndexOutOfBounds)

c# - 将值为 System.Guid.Empty 的 NHibernate "translate"C# POCO Guid 属性保存为数据库 uniqueidentifier 字段的 NULL?

c# - 恼人的 SQL 异常,可能是由于某些代码做错了

c# - 文件存在总是返回 false

c# - 在没有 GDI+ 或 WPF 的情况下在服务器上调整和编码大型 Tiff 图像