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
C# 无法识别帧_C#_Selenium_Webdriver - Fatal编程技术网

C# 无法识别帧

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"> 我通过排除在给定时间哪些帧可见的故障,解决了这个问题。谢谢你的帮助

用于C#的Selenium 2 webdriver无法定位帧“导航底部” 但是它可以识别框架“top”。我正在Firefox12中测试。 标记如下..最顶层的框架集没有id或name属性

<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。