前言

在使用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代码

运行完效果如下

最新文章

  1. MPMoviePlayerController属性,方法,通知整理
  2. 如何给main传参数
  3. AWS Redshift summary
  4. JAVA基础学习之IP简述使用、反射、正则表达式操作、网络爬虫、可变参数、了解和入门注解的应用、使用Eclipse的Debug功能(7)
  5. vue.js慢速入门(2)
  6. OC语言-07-OC语言-Foundation框架
  7. OpenXml入门----给Word文档添加表格
  8. start-stop-daemon 命令
  9. Android(java)学习笔记141:SQLiteDatabase的query方法参数分析
  10. glibc漏洞监测并修复
  11. The Importance of Money in Life
  12. FPGA计算3行同列数据之和
  13. 团队作业4——第一次项目冲刺 fOURth DaY
  14. .htaccess 文件 访问二级域名 对应的 指定文件夹
  15. JavaEE学习之Spring AOP
  16. java中级——集合框架【3】-HashSet
  17. EXCEL VBA——数组,使用数组提升程序效率
  18. CSS进阶之SASS入门指南
  19. Scala 入门详解
  20. HRBUST 1161 树状数组区间更新求和

热门文章

  1. Linux中shell字符串分隔、字符串替换、字符串拼接
  2. 生物网络,RNA 与疾病关联分析
  3. 用less查看日志文件
  4. 巧用CSS3之background渐变
  5. FreeRTOS计数型信号量
  6. python之变量的数据类型(3)dict 及解构简单介绍
  7. Linux 曝出严重安全漏洞,受限用户亦可提权至 Root 身份运行任意命令!(内附解决方案)
  8. 2. premiere 项目管理
  9. 登录-redis
  10. python_并发编程——多进程