iframe 页面中的定位

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iframe 页面中的定位相关的知识,希望对你有一定的参考价值。

<iframe src="http://www.163.com" width="300" height="250" frameborder="0" scrolling="no"></iframe> 这个直接放进页面中是在左侧的 我想用css 移动这个框架的位置 比如说 在页面右下边 怎么去弄?

参考技术A <iframe src="http://www.163.com" width="300" height="250" frameborder="0" scrolling="no" style="position:absolute;right:0;bottom:0"></iframe>

前提是你的这个IFRAME的父一级层,指定宽和高。本回答被提问者采纳

python+selenium如何定位多层iframe中元素

在 web 应用中经常会出现 iframe 嵌套的应用,假设页面上有 A、B 两个 iframe,其中 B 在 A 内,那么定位 B 中的内容则需要先到 A,然后再到 B。

iframe 中实际上是嵌入了另一个页面,而 webdriver 每次只能在一个页面识别,因此需要用 switch_to.frame 方法去获取 iframe 中嵌入的页面,对那个页面里的元素进行定位。

常用方法如下:

# 先找到到 iframe1(id = f1)

driver.switch_to_frame("f1")

# 再找到其下面的 iframe2(id =f2)

driver.switch_to_frame("f2")

# 下面就可以正常的操作元素了

driver.find_element_by_id("xx").click()

例:要求定位id="TeacherTxt"

<frame src="" id="index_main" name="main" scrolling="Yes" noresize="noresize">
        <iframe id="Editor1" src="" frameborder="0" scrolling="no" >
              <iframe id="eWebEditor" width="100%" height="100%" scrolling="yes" frameborder="0" src="">
                  <input type="text" id="TeacherTxt" name="Teacher" size="12" maxlength="12" >
            </iframe>
        </iframe>
</iframe>
代码如下:
driver.switch_to_frame("inden_main")
driver.switch_to_frame("Editor1")
driver.switch_to_frame("eEebEditor")
driver.find_element_by_id("TeacherTxt").send_keys(‘tester‘)
 

注:若页面中只有一个iframe且这个iframe为js加载的,那么只需要switch_to_frame(‘id’)即可

---------------------------------------------------------------------------------------------------------------------------------

有可能嵌套的不是框架,而是窗口,还有针对窗口的方法:switch_to_window 

用法与switch_to_frame 相同: 

driver.switch_to_window("windowName")

以上是关于iframe 页面中的定位的主要内容,如果未能解决你的问题,请参考以下文章

您可以从同一站点定位 iFrame 中的元素吗?

如何确定iframe中的页面在该iframe中的默认位置

python+selenium如何定位多层iframe中元素

怎么获取iframe里面的元素

如何定位另一个 iFrame 中的 iFrame 中的元素?

如何在 iframe 中使用 Leaflet.js 中的地图