c# - 在 Selenium WebDriver C# 中等待元素的任何更好更可靠的方法?

标签 c# selenium-webdriver

我使用以下代码在我的测试脚本中等待元素。有没有更好更稳健的方法来等待元素?

try {
    isPresent = localWait.Until<bool>((d) => { 
        return element.Size.Height > 0 && element.Size.Width > 0; });
} catch (NoSuchElementException) {
    isPresent = false;
}

最佳答案

谓词 ExpectedConditions.ElementIsVisible 等待元素显示以及宽度/高度大于零:

var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
var element = wait.Until(ExpectedConditions.ElementIsVisible(By.CssSelector(...)));

也可以等待 Displayed 属性:

wait.Until(drv => element.Displayed);

关于c# - 在 Selenium WebDriver C# 中等待元素的任何更好更可靠的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38785617/

相关文章:

c# - 如何自定义绘制 GridSplitter

c# - C# 项目的自定义构建步骤

c# - Entity Framework 6 : Trim does not work properly

Python/Selenium 使用 Firefox 下载 PDF

java - 通过 Selenium 在 Microsoft Edge 中下载文件

c# - 尽管设置了忽略操作,AutoMapper 仍抛出 Unmapped 属性异常

c# - 在 Java 中读取 C# 字节数组

java - 我们如何在页面工厂(@FindBy)中使用RelativeLocator(而不是Relative xpath)?

java - 无法使用 selenium webdriver 从日期选择器中选择日期

java - 从元素中选择数字