菜单和SubMenu在不同的框架中

时间:2016-01-21 10:25:35

标签: c# selenium iframe

我点击子菜单有点问题,原因是一帧中的菜单标签和其他子菜单中的子菜单,所以当我切换到其他帧时子菜单是不可见的

我的代码:

driver.SwitchTo().DefaultContent().SwitchTo().Frame("top");

Actions actions = new Actions(driver);
IWebElement menuHoverLink = driver.FindElement(By.PartialLinkText("Cons"));
actions.MoveToElement(menuHoverLink);
actions.Build().Perform();

driver.SwitchTo().DefaultContent().SwitchTo().Frame("content").FindElement(By.Id("elem3")).Click();

异常

  

意外错误。元素目前不可见,因此可能不是   与

互动

有没有人知道在这种情况下我该怎么办?

感谢。

2 个答案:

答案 0 :(得分:0)

尝试使用显式等待

driver.SwitchTo().Frame("content");
WebDriverWaitwait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
wait.Until(ExpectedConditions.ElementIsVisible(By.Id("elem3"))).Click();

或使用发送密钥

actions.MoveToElement(menuHoverLink).Build().Perform();         
menuHoverLink.SendKeys(OpenQA.Selenium.Keys.ArrowDown);
menuHoverLink.SendKeys(OpenQA.Selenium.Keys.Enter);

答案 1 :(得分:0)

我找到了解决方案,但并不总是有用 我只是重定向到点击选项后出现的网址。

string urlAfterClick = "..."

driver.Navigate().GoToUrl(urlAfterClick);