Selenium向iframe富文本框输入内容
2024-09-30 07:36:25
目录
前言
在使用Selenium测试一些CMS后台系统时,有时会遇到一些富文本框,如下图所示:
整个富文本编辑器是通过iframe嵌入到网页中的,手动尝试输入内容,发现内容是输入到iframe页面的body中的,
这种富文本框怎么输入呢?
我们也可以直接在body的源码上点击右键选择Edit HTML,输入相应的html代码,达到向富文本框输入的目的,如下下图:
以下是使用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')
运行完,显示如下:
通过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)
- js脚本中document代表整个文档对象
- querySelector()中使用css selector语法定位到这个iframe框架
- 使用contentDocument获取到iframe的文档对象
- 使用querySelector定位到body节点,修改其内部的html代码
运行完效果如下
最新文章
- MPMoviePlayerController属性,方法,通知整理
- 如何给main传参数
- AWS Redshift summary
- JAVA基础学习之IP简述使用、反射、正则表达式操作、网络爬虫、可变参数、了解和入门注解的应用、使用Eclipse的Debug功能(7)
- vue.js慢速入门(2)
- OC语言-07-OC语言-Foundation框架
- OpenXml入门----给Word文档添加表格
- start-stop-daemon 命令
- Android(java)学习笔记141:SQLiteDatabase的query方法参数分析
- glibc漏洞监测并修复
- The Importance of Money in Life
- FPGA计算3行同列数据之和
- 团队作业4——第一次项目冲刺 fOURth DaY
- .htaccess 文件 访问二级域名 对应的 指定文件夹
- JavaEE学习之Spring AOP
- java中级——集合框架【3】-HashSet
- EXCEL VBA——数组,使用数组提升程序效率
- CSS进阶之SASS入门指南
- Scala 入门详解
- HRBUST 1161 树状数组区间更新求和