如何使用Selenium MoveToElement选择子菜单?

时间:2018-01-30 14:54:45

标签: selenium internet-explorer microsoft-edge

我正在测试的网络应用程序有一个两级左侧面板菜单。我正在尝试选择一个子菜单项。我有代码工作:

CHIA_LIB_Selenium_Wait.UntilElementDisplayed(DriverObj, By.LinkText(m_MenuItems(0)))

LinkObj = DriverObj.FindElement(By.LinkText(m_MenuItems(0)))

DriverObj.Manage().Timeouts().ImplicitWait = New TimeSpan(0, 0, 60)

BuilderObj.MoveToElement(LinkObj).Build.Perform()

If m_MenuItems.Count = 2 Then
    If m_MenuItems(1) IsNot Nothing Then
        CHIA_LIB_Selenium_Wait.UntilElementDisplayed(DriverObj, By.LinkText(m_MenuItems(1)))
        LinkObj = DriverObj.FindElement(By.LinkText(m_MenuItems(1)))
        BuilderObj.MoveToElement(LinkObj, 5, 5).Click().Build.Perform()
    End If
End If

现在这段代码正在查找并选择与我想要选择的子菜单项位于同一位置的另一个子菜单项。

用语言描述正在发生的事情太难了。我们来试试图吧。我假设我想选择Sub1C。我找到并移动Main1。浏览器显示Sub1A,Sub1B和Sub1C菜单项:

Main1 - Sub1A
Main2   Sub1B
Main3   Sub1C

代码找到并尝试单击Sub1C。

但实际发生的是代码将鼠标移动到Main3并选择并点击Sub3A菜单项。

Main1
Main2
Main3 - Sub3A

您会看到Sub3A与Sub1A菜单项位于同一位置。

我的环境:     Windows 7 64位     InternetExplorerDriver 3.8.0     边缘

0 个答案:

没有答案