2016-02-27 83 views
1

我有菜单组:硒取消隐藏元素C#

<div class="menuGroup"> 

一些这个div含有类隐藏或显示菜单内容

class="toggleMenuChildren"> 

当你点击它,它改变

class="toggleMenuChildren opened"> 

所以我想显示菜单中的所有内容(点击所有类别toggleMenuChildren)以显示它。

我试试这个

IWebElement zi = driver.FindElement(By.ClassName("toggleMenuChildren")); 
      zi.Click(); 

但这开通(取消)只是第一个元素,如果你再次调用它,然后隐藏的内容。我如何显示所有内容(点击所有元素)?

回答

1

您可以使用XPath - //div[contains(@class,'toggleMenuChildren') and not(contains(@class,'opened'))]

(抱歉,这是在Java)

List<WebElement> allElements = driver.findElements(By.xpath("//div[contains(@class,'toggleMenuChildren') and not(contains(@class,'opened'))]")); 
for(WebElement ele: allElements){ 
ele.click; 
} 
0

您可以尝试使用悬停显示所有在toggleMenuChildren类的信息

Actions actions = new Actions(driver); 
IWebElement menuHoverLink = 
driver.FindElement(By.XPath("//div[@class='toggleMenuChildren']")); 
actions.MoveToElement(menuHoverLink); 
actions.Build().Perform(); 

//That is the elements under the toggleMenuChildren class that you can use 
driver.FindElement(By.PartialLinkText("...")).Click(); 

后执行()所有的元素将被取消隐藏。