C# 如何使用鼠标悬停单击selenium中的子菜单

C# 如何使用鼠标悬停单击selenium中的子菜单,c#,selenium,selenium-webdriver,selenium-chromedriver,C#,Selenium,Selenium Webdriver,Selenium Chromedriver,我想单击导航中的子菜单,但它在Selenium中不起作用。 Browser get打开,第一个菜单显示为selected,但菜单下拉列表未打开,我得到错误:元素在子菜单单击时不可见。 我希望,代码详细信息将帮助您解决我的问题 using Microsoft.VisualStudio.TestTools.UnitTesting; using OpenQA.Selenium; using OpenQA.Selenium.Chrome; using OpenQA.Selenium.Interactio

我想单击导航中的子菜单,但它在Selenium中不起作用。 Browser get打开,第一个菜单显示为selected,但菜单下拉列表未打开,我得到错误:元素在子菜单单击时不可见。 我希望,代码详细信息将帮助您解决我的问题

using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Interactions;

using OpenQA.Selenium.Support.UI;

[TestMethod]
    public  void OpenPatEarningCode()
    {
        try
        {
            WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
            Actions action = new Actions(driver);

            var Menu = wait.Until(ExpectedConditions.ElementIsVisible(By.Name("Menu")));
            action.MoveToElement(Menu).Click().Build().Perform();


            IWebElement FirstmenuAdmin = Menu.FindElement(By.Name("First Menu"));

            action.MoveToElement(FirstmenuAdmin).Click().Build().Perform();


            IWebElement SubmenuElement = new WebDriverWait(driver, TimeSpan.FromSeconds(5)).
                Until(ExpectedConditions.ElementToBeClickable(By.Name("Sub Menu")));

            action.MoveToElement(SubmenuElement).Click().Build().Perform();
        }
        catch (Exception)
        {

            throw;
        }
    }

这是一个答案还是更新的代码?您对答案没有描述。您应该添加一些描述。你改变了什么,它是如何解决问题的,等等。
 [TestMethod]
        public void OpenPatEarningCode()
        {
            try
            {
                WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
                Actions action = new Actions(driver);

                var Menu = wait.Until(ExpectedConditions.ElementIsVisible(By.Name("Menu")));

                action.MoveToElement(Menu).Build().Perform();

                IWebElement FirstmenuAdmin = wait.Until(ExpectedConditions.ElementIsVisible(By.Name("First Menu")));

                action.MoveToElement(FirstmenuAdmin).Build().Perform();


                IWebElement SubmenuElement = wait.Until(ExpectedConditions.ElementToBeClickable(By.Name("Sub Menu")));

                SubmenuElement.Click();
            }
            catch (Exception)
            {

                throw;
            }
        }