如何解决使用C#中的Selenium获取具有特定类的所有元素的属性值的列表
使用Selenium,我想获取特定类的所有元素上的 title 属性列表。我尝试了这段代码:
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();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。