【发布时间】:2017-09-12 13:43:50
【问题描述】:
我在需要用 Selenium 测试的网络应用程序中有一个 SmartMenu。我可以通过部分链接文本找到根菜单项,但找不到任何子菜单项。
有没有人找到办法做到这一点?
这是我的代码:
var menu = IEBrowser.DriverInstance.FindElement(By.Id("main-menu"));
var navigate = menu.FindElement(By.PartialLinkText("Navigate"));
navigate.Click();
var offsite = navigate.FindElement(By.PartialLinkText("off-site"));
offsite.Click();
我在第 5 行收到“NoSuchElementException”。
我也试过了:
var menu = IEBrowser.DriverInstance.FindElement(By.Id("main-menu"));
var navigate = menu.FindElement(By.PartialLinkText("Navigate"));
Actions a = new Actions(IEBrowser.DriverInstance);
a.MoveToElement(navigate).Build().Perform();
a.Click();
var offsite = navigate.FindElement(By.PartialLinkText("off-site"));
a.MoveToElement(offsite).Build().Perform();
a.Click();
这在“异地”变量上也失败了。
【问题讨论】:
-
找不到是什么意思?你的自动化代码在哪里?确切的问题是什么?
-
子菜单项仅在鼠标悬停在主菜单上时可见。因此,您可以先模拟移动,然后尝试使用部分链接文本。它可能有效
-
我在上面添加了我的代码。谢谢。
-
您是否尝试在第一次点击和查找下一个元素之间添加等待语句?
-
是的,我试过等待几秒钟,即使菜单几乎立即出现。
标签: c# selenium smartmenus