gpt4 book ai didi

c# - Selenium 更新后出现 StaleElementException

转载 作者:太空宇宙 更新时间:2023-11-03 15:04:25 24 4
gpt4 key购买 nike

我在测试中使用 Selenium.WebDriverSelenium.Support 3.0.1,但在更新到更高版本后我的代码抛出错误。

失败代码:

// Element locating        
// [FindsBy(How = How.ClassName, Using = "dot")]
// private IList<IWebElement> gameDots { get; set; }

for (int i = 0; i < levelIndicators.Count; i++)
{
Browser.Action.ClickAndHold(gameDots[0]);
foreach (IWebElement gameDot in gameDots)
{
Browser.Action.MoveToElement(gameDot);
}
Browser.Action.MoveToElement(gameDots[0])
.Build()
.Perform();
}

浏览器类:

public static Actions Action { get; set; }
public static IWebDriver Driver { get; set; }

static Browser()
{
Action = new Actions(Driver);
}

更新到任何较新版本的 Selenium 后,我在使用 Perform() 方法的行上收到 StaleElementReferenceException。降级到 3.0.1 后,它又可以工作了。

OpenQA.Selenium.StaleElementReferenceException : stale element reference: element is not attached to the page document (Session info: chrome=58.0.3029.110) (Driver info: chromedriver=2.29.461591 (62ebf098771772160f391d75e589dc567915b233),platform=Windows NT 10.0.15063 x86_64)

如果我尝试与 gameDot[0] 元素交互而不执行任何 Actions,一切都按预期工作。

最佳答案

遇到同样的问题。第一次点击工作正常,第二次点击(没有 dom 变化!)抛出异常!将 action.clikc(clikckingElement).build.perform 替换为 clickingElement.Click() 有帮助。但这肯定是一个错误!

crhome v. 59 一切正常,但 selenium 3.0.1 而不是最新的 3.4

关于c# - Selenium 更新后出现 StaleElementException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44392879/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com