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 字符串split的用法分享
Mar 23 Python
python利用lxml读写xml格式的文件
Aug 10 Python
浅谈机器学习需要的了解的十大算法
Dec 15 Python
快速了解Python相对导入
Jan 12 Python
Python封装原理与实现方法详解
Aug 28 Python
Python打包方法Pyinstaller的使用
Oct 09 Python
Python可视化mhd格式和raw格式的医学图像并保存的方法
Jan 24 Python
Python3解释器知识点总结
Feb 19 Python
python算法题 链表反转详解
Jul 02 Python
python中关于数据类型的学习笔记
Jul 19 Python
Python Opencv实现单目标检测的示例代码
Sep 08 Python
Python可视化学习之seaborn调色盘
Feb 24 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
探讨php define()函数及defined()函数使用详解
2013/06/09 PHP
PHP实现的链式队列结构示例
2017/09/15 PHP
php中yar框架实例用法讲解
2020/12/27 PHP
jQuery Ajax 全解析
2009/02/08 Javascript
Mootools 1.2教程 类(一)
2009/09/15 Javascript
PHP 与 js的通信(via ajax,json)
2010/11/16 Javascript
javascript中的循环语句for语句深入理解
2014/04/04 Javascript
Javascript中replace()小结
2015/09/30 Javascript
JavaScript实现的SHA-1加密算法完整实例
2016/02/02 Javascript
JavaScript蒙板(model)功能的简单实现代码
2016/08/04 Javascript
一个超简单的jQuery回调函数例子(分享)
2016/08/08 Javascript
JS获取鼠标选中的文字
2016/08/10 Javascript
不使用script导入js文件的几种方法
2016/10/27 Javascript
bootstrap可编辑下拉框jquery.editable-select
2017/10/12 jQuery
使用use注册Vue全局组件和全局指令的方法
2018/03/08 Javascript
node.js遍历目录的方法示例
2018/08/01 Javascript
Vue循环组件加validate多表单验证的实例
2018/09/18 Javascript
Vue学习之常用指令实例详解
2020/01/06 Javascript
python备份文件的脚本
2008/08/11 Python
Python 异常处理实例详解
2014/03/12 Python
浅析AST抽象语法树及Python代码实现
2016/06/06 Python
python中实现迭代器(iterator)的方法示例
2017/01/19 Python
浅谈Python traceback的优雅处理
2018/08/31 Python
使用 tf.nn.dynamic_rnn 展开时间维度方式
2020/01/21 Python
pycharm工具连接mysql数据库失败问题
2020/04/01 Python
Python 实现微信自动回复的方法
2020/09/11 Python
canvas实现圆绘制的示例代码
2019/09/11 HTML / CSS
Web时代变迁及html5与html4的区别
2016/01/06 HTML / CSS
html2canvas把div保存图片高清图的方法示例
2018/03/05 HTML / CSS
德国大型箱包和皮具商店:Koffer
2019/10/01 全球购物
销售辞职报告范文
2014/01/12 职场文书
普罗米修斯教学反思
2014/02/06 职场文书
中餐厅经理岗位职责
2014/04/11 职场文书
2014年女职工工作总结
2014/11/27 职场文书
《给予树》教学反思
2016/03/03 职场文书
浅谈GO中的Channel以及死锁的造成
2022/03/18 Golang