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使用pyhook监控键盘并实现切换歌曲的功能
Jul 18 Python
python字符串中的单双引
Feb 16 Python
Python数据结构与算法之图结构(Graph)实例分析
Sep 05 Python
python opencv检测目标颜色的实例讲解
Apr 02 Python
Flask框架响应、调度方法和蓝图操作实例分析
Jul 24 Python
在PyCharm下使用 ipython 交互式编程的方法
Jan 17 Python
python重要函数eval多种用法解析
Jan 14 Python
解决matplotlib.pyplot在Jupyter notebook中不显示图像问题
Apr 22 Python
Django中FilePathField字段的用法
May 21 Python
Django通过json格式收集主机信息
May 29 Python
用python进行视频剪辑
Nov 02 Python
python3 使用ssh隧道连接mysql的操作
Dec 05 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
微信营销平台系统?刮刮乐的开发
2014/06/10 PHP
php生成二维码
2015/08/10 PHP
ThinkPHP自定义Redis处理SESSION的实现方法
2016/05/16 PHP
thinkPHP微信分享接口JSSDK用法实例
2017/07/07 PHP
laravel使用Faker数据填充的实现方法
2019/04/12 PHP
Laravel框架文件上传功能实现方法示例
2019/04/16 PHP
对javascript的一点点认识总结《javascript高级程序设计》读书笔记
2011/11/30 Javascript
广泛收集的jQuery拖放插件集合
2012/04/09 Javascript
html5的自定义data-*属性和jquery的data()方法的使用示例
2013/08/21 Javascript
使用jquery实现以post打开新窗口
2014/03/19 Javascript
用js的document.write输出的广告无阻塞加载的方法
2014/06/05 Javascript
Nodejs为什么选择javascript为载体语言
2015/01/13 NodeJs
jQuery实用技巧必备(中)
2015/11/03 Javascript
angular2倒计时组件使用详解
2017/01/12 Javascript
jquery 手势密码插件
2017/03/17 Javascript
Vue组件系列开发之模态框
2019/04/18 Javascript
新手快速入门微信小程序组件库 iView Weapp
2019/06/24 Javascript
Typescript3.9 常用新特性一览(推荐)
2020/05/14 Javascript
[02:40]DOTA2殁境神蚀者 英雄基础教程
2013/11/26 DOTA
Flask框架中密码的加盐哈希加密和验证功能的用法详解
2016/06/07 Python
pandas 获取季度,月度,年度首尾日期的方法
2018/04/11 Python
python 对key为时间的dict排序方法
2018/10/17 Python
PyTorch基本数据类型(一)
2019/05/22 Python
在python下使用tensorflow判断是否存在文件夹的实例
2019/06/10 Python
python  logging日志打印过程解析
2019/10/22 Python
python3爬虫中异步协程的用法
2020/07/10 Python
Python爬虫之Selenium实现关闭浏览器
2020/12/04 Python
5 分钟读懂Python 中的 Hook 钩子函数
2020/12/09 Python
html5/css3响应式页面开发总结
2018/10/16 HTML / CSS
eBay美国官网:eBay.com
2020/10/24 全球购物
介绍一下Cookie和Session及他们之间的区别
2012/11/20 面试题
会计应聘求职信范文
2013/12/17 职场文书
主题班会演讲稿
2014/05/22 职场文书
村主任“四风”问题个人整改措施
2014/10/04 职场文书
民主生活会汇报材料
2014/12/15 职场文书
Python爬虫进阶之Beautiful Soup库详解
2021/04/29 Python