首页 > 解决方案 > 在 C# 中使用 Selenium 获取具有特定类的所有元素的属性值列表

问题描述

使用 Selenium,我想获取特定类的所有元素的标题属性列表。我试过这段代码:

var link = webDriver.FindElement(By.ClassName("class")).GetAttribute("title");

但是,我总是只得到第一个元素的标题。

关于我该怎么做的任何想法?我想过用foreach循环来做,但我想不出一个可行的条件......

标签: c#seleniumselenium-webdriverselenium-chromedriver

解决方案


假设您需要从类名为“Class”的所有元素中获取“title”属性的值。您可以使用 WebDriver 的 FindElements 方法获取类名为“Class”的所有元素。从所有元素的列表中,您可以检索属性(标题)值。我还添加了一个 where 子句来删除所有类名为“Class”且“title”属性为空的元素。

    var alltitles = webDriver
            .FindElements(By.ClassName("Class"))
            .Where(x => !string.IsNullOrEmpty(x.GetAttribute("title")))
            .Select(x => x.GetAttribute("title"))
            .ToList();

推荐阅读