Selenium向iframe富文本框输入内容过程图解


Posted in Python onApril 10, 2020

前言

在使用Selenium测试一些CMS后台系统时,有时会遇到一些富文本框,如下图所示:
Selenium向iframe富文本框输入内容过程图解

整个富文本编辑器是通过iframe嵌入到网页中的,手动尝试输入内容,发现内容是输入到iframe页面的body中的,

这种富文本框怎么输入呢?

我们也可以直接在body的源码上点击右键选择Edit HTML,输入相应的html代码,达到向富文本框输入的目的,如下下图:
Selenium向iframe富文本框输入内容过程图解

以下是使用Selenium的操作方法

只输入纯文本

如果只输入不带格式的纯文本,可以先切换到这个iframe,然后定位到body,send_keys相应的文本即可,代码如下:

from selenium import webdriver
dr = webdriver.Chrome()
dr.get('http://www.vemmis.com/bjq/index.html')
dr.switch_to.frame('ueditor_0')
dr.find_element('tag name', 'body').send_keys('hello')

运行完,显示如下:
Selenium向iframe富文本框输入内容过程图解

通过JS注入HTML代码

如果想输入带html格式的文本可以通过js注入,代码如下:

from selenium import webdriver
dr = webdriver.Chrome()
dr.get('http://www.vemmis.com/bjq/index.html')
js = "document.querySelector('#ueditor_0').contentDocument.querySelector('body').innerHTML='<h1>Hello</h1>'"
dr.execute_script(js)

运行完效果如下

Selenium向iframe富文本框输入内容过程图解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python清除字符串里非字母字符的方法
Jul 02 Python
深入浅析python继承问题
May 29 Python
Python中死锁的形成示例及死锁情况的防止
Jun 14 Python
Python中sort和sorted函数代码解析
Jan 25 Python
浅谈pandas中shift和diff函数关系
Apr 08 Python
解决python "No module named pip" 的问题
Oct 13 Python
python实现从pdf文件中提取文本,并自动翻译的方法
Nov 28 Python
django mysql数据库及图片上传接口详解
Jul 18 Python
浅谈keras.callbacks设置模型保存策略
Jun 18 Python
python判断all函数输出结果是否为true的方法
Dec 03 Python
python实现定时发送邮件
Dec 23 Python
ROS系统将python包编译为可执行文件的简单步骤
Jul 25 Python
jupyter notebook 多环境conda kernel配置方式
Apr 10 #Python
OpenCV 表盘指针自动读数的示例代码
Apr 10 #Python
Python装饰器的应用场景代码总结
Apr 10 #Python
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
Apr 10 #Python
jupyter notebook 增加kernel教程
Apr 10 #Python
Python3操作YAML文件格式方法解析
Apr 10 #Python
Jupyter Notebook远程登录及密码设置操作
Apr 10 #Python
You might like
一条久听不愿放下的DIY森海MX500,三言两语话神奇
2021/03/02 无线电
PHP脚本的10个技巧(4)
2006/10/09 PHP
解析php二分法查找数组是否包含某一元素
2013/05/23 PHP
PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】
2017/07/19 PHP
PHP判断函数是否被定义的方法
2019/06/21 PHP
用js实现预览待上传的本地图片
2007/03/15 Javascript
jquery autocomplete自动完成插件的的使用方法
2010/08/07 Javascript
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
2010/08/12 Javascript
JS简单的轮播的图片滚动实例
2013/06/17 Javascript
javascript中递归函数用法注意点
2015/07/30 Javascript
Bootstrap基本插件学习笔记之折叠(22)
2016/12/08 Javascript
node.js利用redis数据库缓存数据的方法
2017/03/01 Javascript
详解使用jQuery.i18n.properties实现js国际化
2018/05/04 jQuery
vue3.0 CLI - 2.6 - 组件的复用入门教程
2018/09/14 Javascript
100行代码实现一个vue分页组功能
2018/11/06 Javascript
vue-router命名视图的使用讲解
2019/01/19 Javascript
layui 实现二级弹窗弹出之后 关闭一级弹窗的方法
2019/09/18 Javascript
python实现迭代法求方程组的根过程解析
2019/11/25 Javascript
vue 组件销毁并重置的实现
2020/01/13 Javascript
JS+HTML5本地存储Localstorage实现注册登录及验证功能示例
2020/02/10 Javascript
[50:12]EG vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python虚拟环境的安装配置图文教程
2017/10/20 Python
Python中enumerate()函数编写更Pythonic的循环
2018/03/06 Python
Python GUI Tkinter简单实现个性签名设计
2018/06/19 Python
基于Python实现迪杰斯特拉和弗洛伊德算法
2020/05/27 Python
基于Django统计博客文章阅读量
2019/10/29 Python
Python单元测试模块doctest的具体使用
2020/02/10 Python
Keras中的两种模型:Sequential和Model用法
2020/06/27 Python
PyQt5通过信号实现MVC的示例
2021/02/06 Python
资生堂美国官网:Shiseido美国
2016/09/02 全球购物
比利时香水网上商店:NOTINO
2018/03/28 全球购物
贝斯特韦斯特酒店集团官网:Best Western
2019/01/03 全球购物
幼儿园毕业教师感言
2014/02/21 职场文书
卫生系统先进事迹
2014/05/13 职场文书
中队活动总结
2014/08/27 职场文书
剑指Offer之Java算法习题精讲二叉树专项训练
2022/03/21 Java/Android