一尘不染

Python Selenium Webdriver-导航嵌套框架集

selenium

我正在使用带有嵌套框架的页面,但是无法访问子框架。HTML源代码的简要概述:

<html>
    <head></head>
    <frameset id="0">
        <frame name="name">
        <frameset cols="10%,20%" id="01">
            <frame name="mid1">
            <frame name="mid2" scrolling="auto" src="chkclineversion.asp" marginwidth="0" marginheight="0"> 
        </frameset>
        <frame name="bot">
    </frameset>
</html>

我需要访问名为“ mid2”的框架。该框架嵌套在框架集内,而框架集又嵌套在主框架集内。

我尝试了以下代码,但它们确实有效

driver.switch_to_frame("mid2") #direct reference to nested frame name

driver.switch_to_frame(1)
driver.switch_to_frame("mid2") #switch to subframe by index and then attempt to reference "mid2". This gives me a no such frame exception1

我是否缺少明显的东西?

我已经检查了此链接,但未阐明我的问题。

谢谢


阅读 292

收藏
2020-06-26

共1个答案

一尘不染

试试这个:

driver.switch_to_frame("name")
driver.switch_to_frame("mid2")

您遇到的问题是javascript只能与它看到的当前框架一起使用。 mid2在子框架中,因此看不到您是否位于文档顶部。

2020-06-26