硒取消隐藏元素C#

时间:2016-02-27 18:16:37

标签: c# selenium

我有菜单组:

<div class="menuGroup">

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

class="toggleMenuChildren">

当您点击它时,它会改变

class="toggleMenuChildren opened">

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

我试试这个

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

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

2 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分: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();

在执行()行之后,所有元素都将被取消隐藏。