在属性href中查找具有特定字符串的所有“A”标记?

时间:2012-04-29 05:47:17

标签: selenium href

            driver.FindElement(By.Name("zipcode")).Clear();
            driver.FindElement(By.Name("zipcode")).SendKeys(zipcode);
            driver.FindElement(By.Name("Go")).Click();

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

我开始使用一些Selenium API代码。我的目标是在属性href中使用字符串“alertsepy”和sting“sevendwarves”获​​取所有“A”标记,并将所有这些元素返回到数组中,以便我可以进行进一步处理。我启动了代码,但我真的不太确定如何在那里完成所有方法。有没有人知道如何使用Selenium进行这种类型的查询。

亲切的问候!

2 个答案:

答案 0 :(得分:7)

你应该使用css选择器:

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

此查询将返回包含 alertsepy sevendwarves a属性的href个节点,或者两个字符串:

<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]")    

此查询将返回包含 alertsepy sevendwarves 字符串的a属性的href个节点:

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

有关常用css选择器的列表,请参阅w3c css selectors。有关Selenium查询类型中可用的列表,请参阅Locating UI Elements

答案 1 :(得分:0)

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