元素没有在缓存中找到-也许页面已经更改,因为它被查找c#

本文关键字:因为 查找 缓存 也许 元素 | 更新日期: 2023-09-27 18:17:45

我被建议尝试使用'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();
            }
        }
    }

元素没有在缓存中找到-也许页面已经更改,因为它被查找c#

你应该添加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;
        }
    }
}