gpt4 book ai didi

c# - Selenium `wait.until` 不等到提供的路径在 DOM 上呈现

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

我正在使用 selenium 测试基于 Angular 的应用程序,我想通过 DOM 处理一些测试用例。在处理 DOM 之前,我等待它通过提供 XPATH/Selector 使用 wait.Until 方法呈现。您可以在下面看到我在代码中使用的代码片段。

wait.Until(ExpectedConditions.ElementToBeClickable(By.XPath("//[@id='stepsGrid'));
driver.FindElement(By.XPath("//[@id='stepsGrid']")).Click();

但是 wait.Until 代码在 DOM 渲染之前被触发,所以我的测试用例失败了。任何见解。

wait.Until 不是等待 DOM 呈现的正确方法吗?

如有任何帮助,我们将不胜感激。

最佳答案

当 DOM 更新时,它有类似的问题,我认为旧的被删除,新的替​​换它。由于它已被删除,因此没有对象可以等待,因此它会触发。

一个丑陋的 hack 是只包含一个 Thread.Sleep(x),但我不建议在生产代码中使用它。

有时它可以帮助在第一个之后放置另一个以尝试在加载时捕获新对象。或者尝试将另一个对象作为目标等待,然后获取您需要使用的正确对象。

但是,是的,这是一个恼人的错误,答案取决于网站的行为和加载方式。

关于c# - Selenium `wait.until` 不等到提供的路径在 DOM 上呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35596148/

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