Selenium在访问框架内的元素时出现问题

Selenium在访问框架内的元素时出现问题,selenium,Selenium,我在验证由框架集和框架组成的页面中的元素时遇到问题 我正在使用代码: selenium.selectFrame("relative=up"); selenium.selectFrame("topFrame"); 但它失败了,错误为“Element topFrame not found”。在尝试导航到任何帧时,我都会遇到类似的错误 我也尝试过指定DOM路径和使用索引,但似乎没有任何效果 HTML如下所示: <frameset framespacing="0" border=

我在验证由框架集和框架组成的页面中的元素时遇到问题

我正在使用代码:

    selenium.selectFrame("relative=up");
    selenium.selectFrame("topFrame");
但它失败了,错误为“Element topFrame not found”。在尝试导航到任何帧时,我都会遇到类似的错误

我也尝试过指定DOM路径和使用索引,但似乎没有任何效果

HTML如下所示:

<frameset framespacing="0" border="0" frameborder="NO" rows="80,*">
    <frame scrolling="NO" frameborder="NO" src="header.html" noresize="" name="topFrame">
    <frameset framespacing="0" border="0" frameborder="NO" cols="210,*">
        <frame scrolling="NO" frameborder="NO" src="menu.html" name="leftFrame">
        <frame scrolling="YES" bordercolor="#78B0D5" frameborder="YES" src="content.html"     name="mainFrame">
        </frame>
    </frameset>
</frameset>


有什么建议吗?

当使用相对帧导航时,它显然完全取决于您从何处开始。为了确保这一点,我们总是从
selenium.selectFrame(“relative=top”)开始框架导航,将您定位在外部
级别,其中
selenium。选择Frame(“topFrame”)是有意义的。

根据我的经验,硒元素在设置帧上下文时是“喜怒无常”的。我发现定义显式的帧标识符比仅仅依赖上下文更有用。因此,在您的情况下,我将使用:

selenium.selectFrame("relative=top");
selenium.selectFrame("css=frame[class=...]");

在上述命令中,尝试使用id=“topFrame”,而不是写入name=“topFrame”。 selenium使用id标识对象