Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用.net Selenium,悬停并从导航菜单中选择_.net_Selenium_Menuitem - Fatal编程技术网

使用.net Selenium,悬停并从导航菜单中选择

使用.net Selenium,悬停并从导航菜单中选择,.net,selenium,menuitem,.net,Selenium,Menuitem,我在使用Selenium.net framework从菜单项中选择时遇到问题,DOM包含 这是一个菜单结构,我试图从下面的代码中选择Level2B <div class="RadAjaxPanel" id="ctl00_ctl00_RadMenu1Panel" style="display: block;"> <div tabindex="0" id="ctl00_RadMenu1" class="RadMenu RadMenu_Bootstrap" style="vis

我在使用Selenium.net framework从菜单项中选择时遇到问题,DOM包含
  • 这是一个菜单结构,我试图从下面的代码中选择Level2B

    <div class="RadAjaxPanel" id="ctl00_ctl00_RadMenu1Panel" style="display: block;">
       <div tabindex="0" id="ctl00_RadMenu1" class="RadMenu RadMenu_Bootstrap" style="visibility: visible; z-index: 8000;">
          <ul class="rmRootGroup rmRoundedCorners rmHorizontal">
             <li class="rmItem " style="z-index: 0;">
                <a class="rmLink rmRootLink" href="#"><span class="rmText rmExpandDown">Level0</span></a>
                <div class="rmSlide" style="visibility: visible; height: 74px; width: 190px; display: none; overflow: hidden; left: 0px; top: 56px; z-index: 9;">
                   <ul class="rmVertical rmGroup rmLevel1" style="display: block; top: -74px; left: 0px; visibility: visible; transition: none 0s ease 0s;">
                      <li class="rmTopRight"></li>
                      <li class="rmBottomLeft"></li>
                      <li class="rmBottomRight"></li>
                      <li class="rmTopFix"></li>
                      <li class="rmBottomFix"></li>
                      <li class="rmItem rmFirst">
                         <a class="rmLink" href="Level1A.aspx" style="width: 190px;"><span class="rmText rmExpandRight">Level1A</span></a>
                         <div class="rmSlide">
                            <ul class="rmVertical rmGroup rmLevel2">
                               <li class="rmItem rmFirst"><a class="rmLink" href="Level2A.aspx"><span class="rmText">Level2A</span></a></li>
                               <li class="rmItem "><a class="rmLink" href="Level2B.aspx"><span class="rmText">Level2B &amp; Level2B</span></a></li>
                               <li class="rmItem ">
                                  <a class="rmLink" href="#"><span class="rmText">Level2D</span></a>
                                  <div class="rmSlide">
                                     <ul class="rmVertical rmGroup rmLevel3">
                                        <li class="rmItem rmFirst"><a class="rmLink" href="Level3A.aspx"><span class="rmText">Level3A</span></a></li>
                                        <li class="rmItem "><a class="rmLink" href="Level3B.aspx?resultid=5"><span class="rmText">Level3B</span></a></li>
                                        <li class="rmItem rmLast"><a class="rmLink" href="Level3C.aspx?resultid=10"><span class="rmText">Level3C</span></a></li>
                                     </ul>
                                  </div>
                               </li>
                               <li class="rmItem rmLast"><a class="rmLink" href="#"><span class="rmText">Level2F</span></a></li>
                            </ul>
                         </div>
                      </li>
                      <li class="rmItem rmLast"><a class="rmLink" href="Level1B.aspx" style="width: 190px;"><span class="rmText">Level1B</span></a></li>
                   </ul>
                </div>
             </li>
          </ul>
       </div>
    </div>
    
    
    
    这是我尝试过的代码,我正在获取元素未找到异常

    var qmsMenu = t._driver.FindElement(By.ID("ctl00_RadMenu1"));
                var menuItemsAll = qmsMenu.FindElements(By.ClassName("rmItem "));
                var n=menuItemsAll.Count;
                for (int i = 0; i < n; i++)
                {
                    if (menuItemsAll[i].Text.ToLower().Contains("Level0"))
                        menuItemsAll[i].Click();
    
                    var subMenuItems = menuItemsAll[i].FindElement(By.ClassName("rmSlide"));
                    var leafNodes = subMenuItems.FindElements(By.ClassName("rmItem "));
                    var leafNodesCount = leafNodes.Count;
                    for (int j = 0; j < leafNodesCount; j++)
                    {
                        if (leafNodes[j].Text.ToLower().Contains("Level2B"))
                            leafNodes[j].Click();
                    }
                }
    
    var qmsMenu=t._driver.FindElement(By.ID(“ctl00_RadMenu1”);
    var menuItemsAll=qmsMenu.FindElements(By.ClassName(“rmItem”);
    var n=menuItemsAll.Count;
    对于(int i=0;i
    代码试用版?遇到错误?@DebanjanB,更新了试用和异常。我已经更新如下,现在正在“主菜单”中获取值,如Level0、Level1、Level2,请帮助我选择Level0
    IWebElement主菜单=t.。_driver.FindElement(By.XPath(//ul contains(@class,'rmRootGroup')))