Selenium向iframe富文本框输入内容过程图解

Mangena ·
更新时间:2024-11-13
· 579 次阅读

前言

在使用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)

运行完效果如下

您可能感兴趣的文章:Selenium执行Javascript脚本参数及返回值过程详解selenium+chromedriver在服务器运行的详细教程Python + selenium + crontab实现每日定时自动打卡功能selenium+python配置chrome浏览器的选项的实现Selenium启动Chrome时配置选项详解python+selenium+Chrome options参数的使用Python selenium页面加载慢超时的解决方案



输入 selenium 文本框 iframe

需要 登录 后方可回复, 如果你还没有账号请 注册新账号