通过部分Id/Css查找所有元素,并将它们放在一个列表中,使用C#中的Selenium#
问题描述:
我试图从搜索结果页中找到所有元素,并将它们放入列表中。第一个问题是找到所有的元素。我没有任何问题,找到一个特定的元素:通过部分Id/Css查找所有元素,并将它们放在一个列表中,使用C#中的Selenium#
driver.FindElement(By.CssSelector("#event_395634"));
OR:
driver.FindElement(By.Id("event_395634"));
可是我怎么觉得每一个元素开始 “#event_” 或 “event_”?
我该如何将它们放入列表中?这是一个开始吗?:
List<IWebElement> eventList = new List<IWebElement>();
events = driver.FindElements(By.?("Magic code");
....然后是什么?还是我离开? 我打算在稍后的阶段循环访问列表。
答
有一个CSS选择器,用于选择属性以给定字符串开头的所有元素。
您可以使用By.CssSelector
。
var events = driver.FindElements(By.CssSelector("[id^=event_]"));
它应该工作。
是的,它做到了!谢谢! 你是否也知道第二个问题的答案?关于名单? 现在我到目前为止: 'var events = driver.FindElements(By.CssSelector(“[id^= event_]”)); events.ToList(); (事件中的对象o) System.Diagnostics.Debug.WriteLine(events); }' –
SamKar