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数据类型转换函数总结
Mar 11 Python
Python文本相似性计算之编辑距离详解
Nov 28 Python
python安装oracle扩展及数据库连接方法
Feb 21 Python
Python实现遍历目录的方法【测试可用】
Mar 22 Python
高质量Python代码编写的5个优化技巧
Nov 16 Python
python版学生管理系统
Jan 10 Python
python读取文件名并改名字的实例
Jan 07 Python
python爬虫租房信息在地图上显示的方法
May 13 Python
基于pytorch的保存和加载模型参数的方法
Aug 17 Python
python GUI库图形界面开发之PyQt5不规则窗口实现与显示GIF动画的详细方法与实例
Mar 09 Python
django配置app中的静态文件步骤
Mar 27 Python
Python 日期与时间转换的方法
Aug 01 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
xml在joomla表单中的应用详解分享
2012/07/19 PHP
Php header()函数语法及使用代码
2013/11/04 PHP
php修改文件上传限制方法汇总
2015/04/07 PHP
PHP代码维护,重构变困难的4种原因分析
2016/01/25 PHP
初学Javascript的一些总结
2008/11/03 Javascript
JavaScript 直接操作本地文件的实现代码
2009/12/01 Javascript
js采用map取到id集合组并且实现点击一行选中一行
2013/12/16 Javascript
window.location不跳转的问题解决方法
2014/04/17 Javascript
程序员必知35个jQuery 代码片段
2015/11/05 Javascript
Node.js实用代码段之正确拼接Buffer
2016/03/17 Javascript
AngularJS实现textarea记录只能输入规定数量的字符并显示
2016/04/26 Javascript
Bootstrap与KnockoutJs相结合实现分页效果实例详解
2016/05/03 Javascript
简单掌握JavaScript中const声明常量与变量的用法
2016/05/21 Javascript
vue.js入门教程之基础语法小结
2016/09/01 Javascript
JavaScript无操作后屏保功能的实现方法
2017/07/04 Javascript
vue2.0+vuex+localStorage代办事项应用实现详解
2018/05/31 Javascript
使用Vue-cli3.0创建的项目 如何发布npm包
2019/10/10 Javascript
vue计算属性+vue中class与style绑定(推荐)
2020/03/30 Javascript
全局安装 Vue cli3 和 继续使用 Vue-cli2.x操作
2020/09/08 Javascript
python批量导出导入MySQL用户的方法
2013/11/15 Python
在Python中移动目录结构的方法
2016/01/31 Python
Python原始字符串与Unicode字符串操作符用法实例分析
2017/07/22 Python
python对配置文件.ini进行增删改查操作的方法示例
2017/07/28 Python
Python小游戏之300行代码实现俄罗斯方块
2019/01/04 Python
Jupyter Notebook远程登录及密码设置操作
2020/04/10 Python
Jupyter notebook运行Spark+Scala教程
2020/04/10 Python
英国婴儿产品专家:Samuel Johnston
2020/04/20 全球购物
介绍一下Mysql的存储引擎
2015/02/12 面试题
就业推荐表自我鉴定
2014/03/21 职场文书
员工考核评语大全
2014/04/26 职场文书
文明美德伴我成长演讲稿
2014/05/12 职场文书
寻找最美家庭活动方案
2014/08/20 职场文书
竞选大队干部演讲稿
2014/09/11 职场文书
市场营销工作计划书
2014/09/15 职场文书
2014年自愿离婚协议书
2014/10/10 职场文书
2015年世界粮食日演讲稿
2015/03/20 职场文书