C# 硒。如何切换到正确的帧

C# 硒。如何切换到正确的帧,c#,selenium-webdriver,C#,Selenium Webdriver,我试图使用SwitchTo()方法切换到所需的表单,但我无法做到这一点。 我有一个复杂的页面,如下例所示: <frameset> <frameset> </frameset> <frame name="mbframe"> <frameset> <frame> <frameset> </frameset>

我试图使用SwitchTo()方法切换到所需的表单,但我无法做到这一点。 我有一个复杂的页面,如下例所示:

 <frameset>
    <frameset> </frameset>
    <frame name="mbframe">
        <frameset>
             <frame>
                 <frameset> </frameset>
                 <frame name = "box"> </frame>
                 <frame id="messages">
                         <frame name="box">
                         !!! I need to access this frame
                         </frame>
                 </frame>
              </frame>
         </frameset>
    </frame>
</frameset>

!!! 我需要进入这个框架
请告诉我

请尝试以下代码:

driver.switchTo().frame("mbframe")
      .switchTo().frame("box")
      .switchTo().frame("messages")
      .switchTo().frame("box");

//Do your operations here

//Come out of that frame - It will point to the top frame
driver.switchTo().defaultContent();
试试这个:

driver.findElement(By.tagName("frame").name("box"));

谢谢你的回复,但这没用。我收到一个异常:OpenQA.Selenium.NoSuchFrameException:无法定位帧:mbframeI我试图逐帧访问索引。我尝试了0和1,但出现以下错误:OpenQA.Selenium.NoSuchFrameException:无法定位帧:1我认为您的帧结构与您认为的不同。(X)HTML是否验证?帧是否存在于加载状态,还是在事件中呈现?
IWebElement _eleframe = driver.FindElement(By.Id("overlayIframe"));
        driver.SwitchTo().Frame(_eleframe);