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 正则表达式 概述及常用字符
May 04 Python
python实现百度关键词排名查询
Mar 30 Python
Python和GO语言实现的消息摘要算法示例
Mar 10 Python
在Python的Django框架中simple-todo工具的简单使用
May 30 Python
Python Web框架Tornado运行和部署
Oct 19 Python
Python的“二维”字典 (two-dimension dictionary)定义与实现方法
Apr 27 Python
对numpy数据写入文件的方法讲解
Jul 09 Python
对python中的os.getpid()和os.fork()函数详解
Aug 08 Python
使用pygame写一个古诗词填空通关游戏
Dec 03 Python
在CentOS7下安装Python3教程解析
Jul 09 Python
tensorflow2.0教程之Keras快速入门
Feb 20 Python
python函数的两种嵌套方法使用
Apr 02 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
实现 win2003 下 mysql 数据库每天自动备份
2006/12/06 PHP
php下尝试使用GraphicsMagick的缩略图功能
2011/01/01 PHP
php的POSIX 函数以及进程测试的深入分析
2013/06/03 PHP
php文件上传的例子及参数详解
2013/12/12 PHP
php获取从html表单传递数组的方法
2015/03/20 PHP
PHP7基于curl实现的上传图片功能
2018/05/11 PHP
PHP实现字符串的全排列详解
2019/04/24 PHP
通过正则格式化url查询字符串实现代码
2012/12/28 Javascript
jQuery 动态云标签插件
2014/11/11 Javascript
JavaScript数组前面插入元素的方法
2015/04/06 Javascript
JavaScript数据结构与算法之集合(Set)
2016/01/29 Javascript
JS跨域请求外部服务器的资源
2017/02/06 Javascript
jquery.cookie.js的介绍与使用方法
2017/02/09 Javascript
微信小程序 开发之顶部导航栏实例代码
2017/02/23 Javascript
js模拟微博发布消息
2017/02/23 Javascript
nodejs中解决异步嵌套循环和循环嵌套异步的问题
2017/07/12 NodeJs
从parcel.js打包出错到选择nvm的全部过程
2018/01/23 Javascript
微信小程序与webview交互实现支付功能
2019/06/07 Javascript
vue路由教程之静态路由
2019/09/03 Javascript
python实现排序算法
2014/02/14 Python
Python入门篇之条件、循环
2014/10/17 Python
使用Python脚本操作MongoDB的教程
2015/04/16 Python
Python 数据可视化pyecharts的使用详解
2019/06/26 Python
Python实现的统计文章单词次数功能示例
2019/07/08 Python
python PIL和CV对 图片的读取,显示,裁剪,保存实现方法
2019/08/07 Python
Nike加拿大官网:Nike.com (CA)
2019/04/09 全球购物
英国珠宝网站Argento: PANDORA、Olivia Burton和Nomination等
2020/05/08 全球购物
个人综合鉴定材料
2014/05/23 职场文书
护士求职信范文
2014/05/24 职场文书
语文教研活动总结
2014/07/02 职场文书
校园元旦活动总结
2014/07/09 职场文书
小学运动会演讲稿
2014/08/25 职场文书
党支部创先争优活动总结
2014/08/28 职场文书
广播体操比赛主持词
2015/06/29 职场文书
旅游投诉信范文
2015/07/02 职场文书
mysql批量新增和存储的方法实例
2021/04/07 MySQL