gpt4 book ai didi

selenium - wait.Until(ExpectedConditions.VisibilityOfAllElementsLocatedBy(By.ClassName(className)) 不返回任何元素

转载 作者:行者123 更新时间:2023-12-05 00:54:42 32 4
gpt4 key购买 nike

我要找 IReadOnlyCollection 使用 WebDriverWait 确保元素已在页面上呈现。

这是我的代码

 WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(timeout));
return wait.Until(ExpectedConditions.VisibilityOfAllElementsLocatedBy(By.ClassName("TextInput")));

此代码超时失败。
这意味着在给定类名的页面上找不到任何元素。
我添加了这行代码 之前 我的原始代码只是为了确保元素存在
 var allInputs1 = container.FindElements(By.ClassName("textInput"));

该行按预期返回元素。

所以我的结论是 wait.Until(ExpectedConditions.VisibilityOfAllElementsLocatedBy(By.ClassName("TextInput")))无法按预期工作,因为找不到确定存在于页面上的元素。

使用 查找元素数组的最佳方法是什么? WebDriverWait ?

最佳答案

你的结论是错误的。与 FindElements你只需确保元素存在。
VisibilityOfAllElementsLocatedBy 的 API 文档状态:

An expectation for checking that all elements present on the web page that match the locator are visible. Visibility means that the elements are not only displayed but also have a height and width that is greater than 0.



显然现在是不可见的。

我觉得你应该试试 ExpectedConditions.PresenceOfAllElementsLocatedBy

关于selenium - wait.Until(ExpectedConditions.VisibilityOfAllElementsLocatedBy(By.ClassName(className)) 不返回任何元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39575177/

32 4 0