2017-10-19 22 views
1

我試圖從搜索結果頁中找到所有元素,並將它們放入列表中。第一個問題是找到所有的元素。我沒有任何問題,找到一個特定的元素:通過部分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"); 

....然後是什麼?還是我離開? 我打算在稍後的階段循環訪問列表。

回答

0

有一個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

相關問題