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 30 Python
python爬虫实战之爬取京东商城实例教程
Apr 24 Python
Python AES加密实例解析
Jan 18 Python
Python3多线程操作简单示例
May 22 Python
利用Python如何实现一个小说网站雏形
Nov 23 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
Jun 26 Python
python提取log文件内容并画出图表
Jul 08 Python
python单线程下实现多个socket并发过程详解
Jul 27 Python
基于Python的图像数据增强Data Augmentation解析
Aug 13 Python
Python-Flask:动态创建表的示例详解
Nov 22 Python
通过实例解析Python调用json模块
Dec 11 Python
Pytorch实现基于CharRNN的文本分类与生成示例
Jan 08 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
动态生成gif格式的图像要注意?
2006/10/09 PHP
php中的静态变量的基本用法
2014/03/20 PHP
php中文字符串截取方法实例总结
2014/09/30 PHP
PHP使用内置dir类实现目录遍历删除
2015/03/31 PHP
AngularJs表单验证实例详解
2016/05/30 Javascript
JavaScript的instanceof运算符学习教程
2016/06/08 Javascript
canvas实现图片根据滑块放大缩小效果
2017/02/24 Javascript
Vue2.0 组件传值通讯的示例代码
2017/08/01 Javascript
NestJs 静态目录配置详解
2019/03/12 Javascript
操作按钮悬浮固定在微信小程序底部的实现代码
2019/08/02 Javascript
vue基本使用--refs获取组件或元素的实例
2019/11/07 Javascript
Element DateTimePicker日期时间选择器的使用示例
2020/07/27 Javascript
Js跳出两级循环方法代码实例
2020/09/22 Javascript
[07:31]DOTA2卡尔工作室 英雄介绍主宰篇
2013/06/25 DOTA
Python绑定方法与非绑定方法详解
2017/08/18 Python
opencv与numpy的图像基本操作
2019/03/08 Python
Pycharm激活方法及详细教程(详细且实用)
2020/05/12 Python
python和opencv构建运动检测器的实现
2021/03/03 Python
AJAX应用和传统Web应用有什么不同
2013/08/24 面试题
升职自荐信范文
2013/10/05 职场文书
个人求职简历的自我评价范文
2013/10/09 职场文书
护理学应聘自荐书范文
2014/02/05 职场文书
运动会入场词200字
2014/02/15 职场文书
优秀技术工人先进材料
2014/02/17 职场文书
幼儿园教师演讲稿
2014/05/06 职场文书
伊琍体标语
2014/06/25 职场文书
民事诉讼授权委托书范文
2014/08/02 职场文书
党支部2014年度工作总结
2014/12/04 职场文书
爱的承诺书
2015/01/20 职场文书
教师节祝酒词
2015/08/11 职场文书
2016年“我们的节日·端午节”活动总结
2016/04/01 职场文书
优秀员工演讲稿
2019/06/21 职场文书
2019年朋友圈经典励志语录50条
2019/07/05 职场文书
小学生节约用水倡议书
2019/08/12 职场文书
css3 实现文字闪烁效果的三种方式示例代码
2021/04/25 HTML / CSS
python中tkinter复选框使用操作
2021/11/11 Python