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 相关文章推荐
打开电脑上的QQ的python代码
Feb 10 Python
Python 内置函数complex详解
Oct 23 Python
python matplotlib 注释文本箭头简单代码示例
Jan 08 Python
python+opencv实现阈值分割
Dec 26 Python
python里运用私有属性和方法总结
Jul 08 Python
Python3之字节串bytes与字节数组bytearray的使用详解
Aug 27 Python
python利用openpyxl拆分多个工作表的工作簿的方法
Sep 27 Python
python制作抽奖程序代码详解
Jan 15 Python
TensorFlow的环境配置与安装方法
Feb 20 Python
Python使用openpyxl复制整张sheet
Mar 24 Python
教你如何用python开发一款数字推盘小游戏
Apr 14 Python
浅谈怎么给Python添加类型标注
Jun 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
php echo()和print()、require()和include()函数区别说明
2010/03/27 PHP
Windows下部署Apache+PHP+MySQL运行环境实战
2012/08/31 PHP
实例讲解PHP面向对象之多态
2014/08/20 PHP
PHP图片处理之使用imagecopy函数添加图片水印实例
2014/11/19 PHP
php 访问oracle 存储过程实例详解
2017/01/08 PHP
javascript 日期时间函数(经典+完善+实用)
2009/05/27 Javascript
jQuery 第二课 操作包装集元素代码
2010/03/14 Javascript
js实现漂浮回顶部按钮实例
2015/05/06 Javascript
AngularJS动态绑定ng-options的ng-model实例代码
2017/06/21 Javascript
基于nodejs res.end和res.send的区别
2018/05/14 NodeJs
JS 中可以提升幸福度的小技巧(可以识别更多另类写法)
2018/07/28 Javascript
使用微信小程序开发弹出框应用实例详解
2018/10/18 Javascript
JS实现的小火箭发射动画效果示例
2018/12/08 Javascript
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
2019/02/27 jQuery
解决layui的radio属性或别的属性没显示出来的问题
2019/09/26 Javascript
element-ui中dialog弹窗关闭按钮失效的解决
2020/09/22 Javascript
[54:09]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
Python Tkinter模块实现时钟功能应用示例
2018/07/23 Python
Python读取txt某几列绘图的方法
2018/10/14 Python
python实现一个简单的udp通信的示例代码
2019/02/01 Python
Python时间序列处理之ARIMA模型的使用讲解
2019/04/02 Python
CentOS6.9 Python环境配置(python2.7、pip、virtualenv)
2019/05/06 Python
Python实现aes加密解密多种方法解析
2020/05/15 Python
Python绘制组合图的示例
2020/09/18 Python
Django配置跨域并开发测试接口
2020/11/04 Python
用 Django 开发一个 Python Web API的方法步骤
2020/12/03 Python
Python 实现二叉查找树的示例代码
2020/12/21 Python
德国化妆品和天然化妆品网上商店:kosmetikfuchs.de
2017/06/09 全球购物
Viking比利时:购买办公用品
2019/10/30 全球购物
测量实习生自我鉴定
2013/09/19 职场文书
旅游专业职业生涯规划范文
2014/01/13 职场文书
环境建设实施方案
2014/03/14 职场文书
我的小天地教学反思
2014/04/30 职场文书
微笑面对生活演讲稿
2014/09/23 职场文书
小区门卫的岗位职责
2014/09/26 职场文书
努力学习保证书
2015/02/26 职场文书