c# - selenium webdriver - 等待列表中最后一个类的 outerHTML 属性包含 "X"

标签 c# selenium selenium-webdriver webdriver

使用 c# 和 selenium webdriver,我如何才能等到列表中的最后一个类包含特定属性?

在我的 AUT 中,我在一个页面上有三个类(它们都称为段落)。我需要专门获取最后一段(我使用的是列表,但可以随意提出更好的方法),然后等到页面上的最后一个类包含“X”的 outerHTML 属性。

这是我目前所拥有的:

我创建一个列表来存储所有类,获取最后一个类,最后获取最后一个类的 outerHTML 属性。

IList<IwebElement> Element = driver.FindElements(By.ClassName("Paragraph"));
var GetLastElement = Element.Last();
var LastElementAttribute = GetLastElement.GetAttribute("outerHTML");

根据我上面的代码,我如何添加一个等待条件来检查列表中的最后一个类是否包含“X”的 outerHTML 属性?

最佳答案

如果我没理解错的话 - 在最后一段 outherHTML 中出现 X 的 lambda 看起来像这样:

Wait().Until(driver => driver
  .FindElements(By.ClassName("Paragraph"))
     .Last().GetAttribute("outerHTML")
       .Contains("X"));

关于c# - selenium webdriver - 等待列表中最后一个类的 outerHTML 属性包含 "X",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47656418/

相关文章:

c# - C#中的线程问题

selenium-webdriver - Protractor 向元素(div 等)发送滚动命令

javascript - 如何在 Eclipse 中使用 Selenium 将外部 .js 导入到我的 Java 测试中?

java - Selenium 从 WebDriver 获取 HTML(或 JSON)响应

c# - 查找元素返回空字符串..using XPath contains,Text()

c# - 如何在 asp.net 中创建 DTO?

c# - 如何停止在整数除法时抛出 OverflowException?

c# - Entity Framework 从具有子实体的父实体中提取简单列表

java - 全屏操作在 selenium webdriver 3.x 中不起作用

python - 如何在单个 session 中多次更改我的 webdriver 上的代理?