我有菜单组:
<div class="menuGroup">
这个div中的一些包含隐藏或显示菜单内容的类
class="toggleMenuChildren">
当您点击它时,它会改变
class="toggleMenuChildren opened">
所以我想显示菜单中的所有内容(点击所有课程toggleMenuChildren
)以显示它。
我试试这个
IWebElement zi = driver.FindElement(By.ClassName("toggleMenuChildren"));
zi.Click();
但是这打开(取消隐藏)只是第一个元素,如果再次调用它,则隐藏内容。我如何显示所有内容(点击所有元素)?
答案 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();
在执行()行之后,所有元素都将被取消隐藏。