我点击子菜单有点问题,原因是一帧中的菜单标签和其他子菜单中的子菜单,所以当我切换到其他帧时子菜单是不可见的
我的代码:
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();
异常
意外错误。元素目前不可见,因此可能不是 与
互动
有没有人知道在这种情况下我该怎么办?
感谢。
答案 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);