c# - 在 C# 中使用 Selenium 获取具有特定类的所有元素的属性值列表
问题描述
使用 Selenium,我想获取特定类的所有元素的标题属性列表。我试过这段代码:
var link = webDriver.FindElement(By.ClassName("class")).GetAttribute("title");
但是,我总是只得到第一个元素的标题。
关于我该怎么做的任何想法?我想过用foreach
循环来做,但我想不出一个可行的条件......
解决方案
假设您需要从类名为“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();
推荐阅读
- sql - 如何在 sql 中生成非常大的数组
- cassandra - 如何更改 cassandra.yaml 文件并重启 cassandra 集群?
- c++ - 当头文件的文件夹位于同一目录中时检测到包含错误?
- angular - 找不到构建器 @angular-devkit/build-angular:dev-server 的实现
- google-app-engine - 如何在 Google NLP 情感分析中正确训练模型
- javascript - 使用组件内的选择器将主题/样式应用于所有 html/react 标签
- powershell - ConvertFrom-String 返回符号而不是文本
- javascript - 如何在 Angular ace 编辑器中根据特定场景启用和禁用默认代码段关键字
- python - 使用 python 电子邮件库解析原始电子邮件添加不需要的字符
- python - 如何在不指定 excel 名称的情况下从文件夹中读取 excel?