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

Eae*_*Eae 1 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").  //<---- ?????????
Run Code Online (Sandbox Code Playgroud)

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

亲切的问候!

Ale*_*uhi 7

你应该使用css选择器:

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

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

<a href="alertsepy.html" > </a>
<a href="sevendwarves.html" > </a>
<a href="http://sevendwarves.org/alertsepy.html" > </a>
Run Code Online (Sandbox Code Playgroud)

或者您可以使用:

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

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

<a href="http://sevendwarves.org/alertsepy.html" > </a>
Run Code Online (Sandbox Code Playgroud)

有关常用css选择器的列表,请参阅w3c css选择器.有关Selenium查询类型中可用的列表,请参阅查找UI元素.