C# 无法识别帧
用于C#的Selenium 2 webdriver无法定位帧“导航底部” 但是它可以识别框架“top”。我正在Firefox12中测试。 标记如下..最顶层的框架集没有id或name属性C# 无法识别帧,c#,selenium,webdriver,C#,Selenium,Webdriver,用于C#的Selenium 2 webdriver无法定位帧“导航底部” 但是它可以识别框架“top”。我正在Firefox12中测试。 标记如下..最顶层的框架集没有id或name属性 <frameset> <frame id ="top"> <frameset id="bottom"> <frame id="nav_bottom"> 我通过排除在给定时间哪些帧可见的故障,解决了这个问题。谢谢你的帮助
<frameset>
<frame id ="top">
<frameset id="bottom">
<frame id="nav_bottom">
我通过排除在给定时间哪些帧可见的故障,解决了这个问题。谢谢你的帮助
ReadOnlyCollection<IWebElement> frames1 = driver.FindElements(By.TagName("frame"));
Console.Write("total frames " + frames1.Count);
foreach ( IWebElement frame in frames1)
{
Console.WriteLine("focus is on main frame " + frame.GetAttribute("id"));
}
ReadOnlyCollection frames1=driver.FindElements(按.TagName(“frame”));
Console.Write(“总帧数”+frames1.Count);
foreach(框架1中的IWebElement框架)
{
Console.WriteLine(“焦点在主框架上”+frame.GetAttribute(“id”);
}
您可能需要驱动程序先将焦点切换到帧。试着摆弄一下:
driver.SwitchTo().Frame(the frame IWebElement);
将每个帧作为IWebElement进行尝试,希望这能有所帮助。您当前如何尝试查找该帧?发布代码?//将焦点放回主框架驱动程序。切换到().DefaultContent();等待.Until(x=>x.FindElement(按.TagName(“frame”).Name(“ek_nav_bottom”));驱动程序切换到()框架(“ek_导航底部”);这似乎是一种更安全的做事方式(在你的编辑中)。我在想,您可能一直在尝试通过预先确定的id访问一个。很高兴听到它已修复。我能够通过排除哪些帧可见的故障来解决此问题。有几个框架和iFrame。