2012-04-29 3 views
1
  driver.FindElement(By.Name("zipcode")).Clear(); 
      driver.FindElement(By.Name("zipcode")).SendKeys(zipcode); 
      driver.FindElement(By.Name("Go")).Click(); 

      driver.FindElements(By.TagName("A"). //<---- ????????? 

У меня есть код API Selenium, который я начал. Я пытаюсь получить все теги «A» со строкой «alertsepy» и sting «sevendwarves» в атрибуте href и вернуть все эти элементы в массив, чтобы я мог продолжить обработку. Я начал код, но я действительно не совсем уверен, как все это сделать. Кто-нибудь знает, как сделать этот тип запроса с Selenium.Поиск всех тегов «A» со специфическими строками в атрибуте href?

С уважением!

+0

$ ("а [имя * = '+ search_term +']"); ? – Philip

ответ

7

Вы должны использовать селектор CSS:

IList<IWebElement> elements = driver.findElements(By.cssSelector("a[href*=alertsepy],a[href*=sevendwarves]") 

Этот запрос будет возвращать a узлы с href атрибутом, который содержит alertsepyилиsevendwarvesили обе строки:

<a href="alertsepy.html" > </a> 
<a href="sevendwarves.html" > </a> 
<a href="http://sevendwarves.org/alertsepy.html" > </a> 

Или вы можете использовать:

IList<IWebElement> elements = driver.findElements(By.cssSelector("a[href*=alertsepy][href*=sevendwarves]")  

Этот запрос будет возвращать a узлы с href атрибутом, который содержит alertsepyиsevendwarves строки:

<a href="http://sevendwarves.org/alertsepy.html" > </a> 

Для получения списка общедоступных CSS селекторов см w3c css selectors. Список доступных типов запросов Selenium относится к Locating UI Elements.

0
List<WebElement> anchortaglist = driver.find Elements(By.Tag Name('a'); 
+0

вы получите все метки привязки на своей веб-странице – user555