【问题标题】:Use SmartMenu with Selenium WebDriver将 SmartMenu 与 Selenium WebDriver 一起使用
【发布时间】: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


【解决方案1】:

我设法找到了元素使用

var offsite = menu.FindElements(By.TagName("a"))[2];

我不知道为什么会这样,而 By.PartialLinkText 没有。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-29
    • 2013-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-17
    • 2020-12-16
    • 1970-01-01
    相关资源
    最近更新 更多