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