2016-02-27 84 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(); 

後執行()所有的元素將被取消隱藏。