python selenium 获取frame中的元素

2023-11-08

版权声明:本文为徐代龙原创文章,未经徐代龙允许不得转载。 https://blog.csdn.net/xudailong_blog

使用情景

在很多的视频播放网站,视频播放页面往往获取不到iframe里面的内容,也或者是模拟登陆的时候,会跳入一个新的页面,单独使用请求的时候,就获取不到另外一个目标网页

如何在selenium中使用

例:网页中有源码:

<iframe id="topmenuFrame" width="100%" scrolling="no" height="100%" src="topmenu.aspx?>
<div id="haha">text</div>
</iframe>

获取步骤:

(1)假如我们想要获取id=”haha”的div标签,直接通过driver.find_element_by_id(‘haha’)就会提示“元素不存在“的错误。

(2)这时候我们需要使用
driver.switch_to_frame(driver.find_element_by_id“(“topmenuFrame”)),即先进入id为topmenuFrame的frame,然后再执行driver.find_element_by_id(“haha”),就能正确获得该元素了。

(3)返回到原来的iframe

需要注意的是,切换到这个frame之后,只能访问当前frame的内容,如果想要回到默认的内容范围,相当于默认的frame,还需要使用driver.switch_to_default_content()。

(4)注意事项
页面中有多个frame时,要注意frame之间的切换。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python selenium 获取frame中的元素 的相关文章

随机推荐

  • 华为OD机试 - N进制减法(Java)

    题目描述 主管期望你实现一个基于字符串的N进制的减法 需要对输入的两个字符串按照给定的N进制进行减法操作 输出正负符号和表示结果的字符串 输入描述 输入有三个参数 第一个参数是整数形式的进制N值 N值范围为大于等于2 小于等于35 第二个参
  • 【视频篇】创作的基石,如何找素材?

    前言 工作学习中免不了要搜集素材 然后进行二次创作 这些素材从哪来呢 别告诉我你还在直接百度之后慢慢翻 针对如何找素材 我在打算做一个专题分享一下我的 路子 常见的素材类型比如图片 视频 字体 海报模板 PPT模板等等 想到什么写什么吧 这
  • 一个人如何做抖音矩阵

    随着抖音发展的越来越成熟 不少企业 公司都开始在抖音上发力 但由于人员不够迟迟没有开始布局抖音矩阵 今天小编就来和大家聊一聊一个人怎么做抖音矩阵 一个人做抖音矩阵其实也非常简单 只需要借助矩阵管理系统即可 很多小伙伴迟迟没有做抖音矩阵营销的
  • python 字符串截取_python字符串截取、查找、分割

    Python 截取字符串使用 变量 头下标 尾下标 就可以截取相应的字符串 其中下标是从0开始算起 可以是正数或负数 下标可以为空表示取到头或尾 例1 字符串截取 str 12345678 print str 0 1 gt gt 1 输出s
  • QT 控件重绘

    前言 转载请附上连接 本帖原创请勿照抄 QT重绘控件是指通过实现控件头文件 使用QSS或者样式表来对某个控件进行重新绘制 1 重绘QButton按钮 2 重绘QComboBox下拉框 3 其它控件重绘的办法 1 重绘QButton 重绘控件
  • 竞赛选题 基于机器视觉的二维码识别检测 - opencv 二维码 识别检测 机器视觉

    文章目录 0 简介 1 二维码检测 2 算法实现流程 3 特征提取 4 特征分类 5 后处理 6 代码实现 5 最后 0 简介 优质竞赛项目系列 今天要分享的是 基于机器学习的二维码识别检测 opencv 二维码 识别检测 机器视觉 该项目
  • 深度学习手记(七)之MNIST实现CNN模型

    手写字体识别是一个很好练习CNN框架搭建的数据集 下面简单讲述一下整个模型构建的思路 整个模型通过两次卷积 两次亚采样以及两次全连接层 整个结构比较简单 也易理解 其中 两次卷积层的大小都为5x5 过滤器分别为32和64个 为了不改变图片的
  • 【Docker】Docker 如何在容器内安装vi命令(vi不能使用)

    文章目录 1 背景 1 背景 mac下安装了docker 然后用docker 安装了grafana软件 然后进入grafana base lcc lcc prometheus docker exec it 4b5f517f4340 bash
  • 火车进站

    import java util 火车进站 1 先求出所有可能的出栈序列 不一定合法 2 判断出栈序列是否合法 3 对合法的出栈序列进行排序后输出 public class solution private static List
  • 密码学哈希函数

    哈希函数H使用变长数据分组M作为输入 生成定长结果h H M 这一结果也称哈希值 哈希码或散列值 好的哈希函数的特点如下 对大输入集合使用该函数时 输出是均匀分布的且是明显随机的 概括的说 哈希函数的主要目标是保证数据的完整性 在安全应用中
  • Visual Studio 2019 Community 版离线注册

    本文主要参考 https blog csdn net songfuliang2011 article details 102486451 Visual Studio 2019 Community 虽然是免费使用 但必须在线注册一个账号 否则
  • Spring Boot 事务详解

    自己学习事务做的笔记 方便记忆和复习 1 事务是为了解决数据安全问题而存在的 最经典的例子就是银行转账问题 A账户给B账户转账100元 A账户扣除100元后由于不可抗力因素导致程序中断 B账户没有收到那100元 A账户那100元凭空消失 肯
  • Ubuntu IDEA安装和配置以及eclipse下载

    Idea2022版本官网下载 https www jetbrains com idea download section linux sudo tar zxvf ideaIU 2022 3 3 tar gz C usr local sudo
  • 闲鱼玩法平台系列文章——双11实操篇

    背景 营销玩法是电商行业进行商品促销和用户增长的重要手段 上一篇中介绍了闲鱼的玩法平台 多啦A梦 本篇将介绍在该系统上承接的玩法 闲鱼作为闲置循环工厂也参与了大促 为了让更多闲置在闲鱼游起来 在商品侧设计了 转卖抽奖 活动玩法 为了能让更多
  • asoc 如何定义各种widget、route

    上一节中 介绍了DAPM框架中几个重要的数据结构 snd soc dapm widget snd soc dapm path snd soc dapm route 其中snd soc dapm path无需我们自己定义 它会在注册snd s
  • 大数据治理——《华为数据之道》

    重点章节 1 差异化的数据分类管理 第二章 信息架构 第三章 数据底座 第三章 次重点 2 数据服务 第四章 数据质量 第五章 数据安全与隐私 第六章 其他 3 数据感知 第五章 数据综合治理体系 第二章 企业数字化转型 第三章 重要概念和
  • 【自用】西门子s7-200连接显示屏和物联网盒子完整配置过程

    总览 1 PLC配置 2 显示屏配置 3 物联网盒子配置 一 PLC配置 1 连接PLC软件 STEP 7MicroWIN V4 0 SP9完整版 链接 https pan baidu com s 17LMEXnbkQZMPI8Bte24E
  • 使用单片机控制600W升压模块输出电压

    要想用单片机控制升降压模块的输出电压 首先想到的就是使用电信号控制FB电阻大小 原理上数字电位器可以满足这个需求 那么问题就在于 如何评估数字电位器大小 如何知道FB电阻和输出电压的关系 如果是集成DCDC变换器模块比较简单 一块板上没几个
  • QT 消息对话框按钮显示

    前言 搞QT嘛 大多数都是军工 都要国产化 而且消息对话框的按钮的英文也不是很得劲 所以需要汉化 使用静态函数的按钮就是显示英文 汉化的代码如下 void Widget on pushButton clicked QMessageBox b
  • python selenium 获取frame中的元素

    版权声明 本文为徐代龙原创文章 未经徐代龙允许不得转载 https blog csdn net xudailong blog 使用情景 在很多的视频播放网站 视频播放页面往往获取不到iframe里面的内容 也或者是模拟登陆的时候 会跳入一个