selenium定位当前处于那个iframe(frame)中

问题:操作某元素时,总是定位不上,此时需要确认你在哪个iframe里。

如图html代码,有很多个iframe,代码如下

定位问题的代码:

获取当前iframe的tag name,确定有几个iframe,你所在的元素和获取到页面的iframe之间的关系,来进行iframe的切换。

for child_frame in driver.find_elements_by_tag_name("iframe"):
    child_frame_id = child_frame.get_attribute("src")
    print(child_frame_id)

  

原文地址:https://www.cnblogs.com/bubutianshu/p/11691186.html

时间: 2024-10-07 22:58:13

selenium定位当前处于那个iframe(frame)中的相关文章

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element 定位frame中的元素

from selenium import webdriver import time def sleep(w=1): time.sleep(w) return 0 # 初始化浏览器信息 driver = webdriver.Chrome() driver.get("http://m.mail.10086.cn") print("------------------------------login in-------------------------------"

【selenium自动化——定位frame中的对象】

页面上有 A.B 两个 frame,其中 B 在 A 内,那么定位 B 中的内容则需要先到 A,然后再到 B. switch_to_frame 方法可以把当前定位的主体切换到 frame 里 代码示例: from selenium import webdriverimport time...... driver.implicitly_wait(30)#先找到到 ifrome1(id = f1)driver.switch_to_frame("f1")#再找到其下面的 ifrome2(id

定位 frame 中的对象

1.脚本准备 frame.html 中嵌套 inner.html ,两个文件和我们的脚本文件放同一个目录下. frome.html代码如下: <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title>frame</title> <script type="text/jav

转:python webdriver API 之定位 frame 中的对象

在 web 应用中经常会出现 frame 嵌套的应用,假设页面上有 A.B 两个 frame,其中 B 在 A 内,那么定位 B 中的内容则需要先到 A,然后再到 B.switch_to_frame 方法可以把当前定位的主体切换了 frame 里.怎么理解这句话呢?我们可以从 frame的实质去理解.frame 中实际上是嵌入了另一个页面,而 webdriver 每次只能在一个页面识别,因此才需要用 switch_to.frame 方法去获取 frame 中嵌入的页面,对那个页面里的元素进行定位

selenium元素定位不到之iframe

我们在使用selenium的18中定位方式的时候,有时会遇到定位不上的问题,今天我们就来说说导致定位不上的其中一个原因---iframe 问题描述:通过firebug查询到相应元素的id或name等,但在定位此元素的时候就是报错,提示: selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element 问题原因:元素定位不到 问题分析:通过firebug可以看到,但就是定位不到,这时候很有可能

10. 定位frame中的元素

场景 处理frame需要用到2个方法,分别是switch_to_frame(name_or_id_or_frame_element)和switch_to_default_content() 如何理解这个switch_to_frame(name_or_id_or_frame_element)方法呢?可以简单记忆一下,如果这个 frame有name和id属性那么就用这两个属性就好,如果没有的话可以先用find_element_by_xxx方法找到这个frame元素,然后 把这个元素传进去,这也是可行

26.定位frame中的元素

场景 处理frame需要用到2个方法,分别是switch_to_frame(name_or_id_or_frame_element)和switch_to_default_content() 如何理解这个switch_to_frame(name_or_id_or_frame_element)方法呢?可以简单记忆一下,如果这个frame有name和id属性那么就用这两个属性就好,如果没有的话可以先用find_element_by_xxx方法找到这个frame元素,然后把这个元素传进去,这也是可行的.

Selenium定位不到指定元素原因之iframe(unable to locate element)

浏览过程中,图片中的内容可能太小,无法看清,可以>右键>在新标签中打开 Outline 项目原因,需要用selenium实现模拟登陆.模拟上传文件,自然就需要模拟点击[上传]按钮: 模拟点击之前需要通过selenium提供的“方法”去定位到要点击的元素: 模拟登陆过程中,全程都可以定位到需要点击的元素,但登陆后需要定位点击[上传]按钮时问题来了: 元素明明在那放着,就是定位不到,这个问题困扰了一下午还没解决,最终走到了iframe这个一步,才得以解决. 什么是iframe 解决问题之前很有必要

python+selenium:iframe框架中动态id如何切换

方法一:通过索引,id,name,WebElement定位 from selenium import webdriverdriver = webdriver.Firefox()driver.switch_to.frame(0) # 1.用frame的index来定位,第一个是0# driver.switch_to.frame("frame1") # 2.用id来定位# driver.switch_to.frame("myframe") # 3.用name来定位# d