通过部分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_]")); 

它应该工作。

+0

是的,它做到了!谢谢! 你是否也知道第二个问题的答案?关于名单? 现在我到目前为止: 'var events = driver.FindElements(By.CssSelector(“[id^= event_]”)); events.ToList (); (事件中的对象o) System.Diagnostics.Debug.WriteLine(events); }' – SamKar