Selenium测试时富文本编辑区输入方法

用Selenium+python编写自动测试脚本,因为页面中内容编辑使用ckEditor富文本编辑,不知道如何输入内容。

方法一:执行JS脚本,ckEditor编辑区内容输入成功,校验提示内容为空

通过上网查找,一种方法是使用Selenium执行JavaScript脚本的方法修改富文本编辑区的内容。

由于富文本编辑器都包含iframe,所为第一步首先是切换frame:

driver.switch_to.frame(driver.find_element(By.CLASS_NAME, 'cke_wysiwyg_frame'))

然后执行JavaScript脚本:

test_js = 'document.body.innerHTML="%s"' % ("测试切换frame能否实现富文本编辑")

driver.execute_script(test_js)
测试后发现富文本编辑区内容是发生了变化,但是对应的编辑内容校验总是通不过。

方法二:将sendKeys用于ckeditor文本区域的body对象

于是使用第二种方法通过对富文本编辑区中的body进行sendKey()的方式进行内容输入,具体代码实现如下:

driver.switch_to.frame(driver.find_element(By.TAG_NAME, 'iframe'))
content_body = driver.find_element(By.TAG_NAME, 'body')
content_body.send_keys(content)

执行完成后不要忘记再返回frame的上层内容页面。代码如下:

self.driver.switch_to.default_content()

这种方式解决了ckEditor富文本内容输入成功通过内容的校验。

参考网文:

selenium编辑器输入  https://www.cnblogs.com/simon1993/p/16353435.html

Python自动化输入文本selenium自动化测试在富文本中输入信息的方法  https://blog.csdn.net/Ghjkku/article/details/123707485

java中sendkeys_javascript – 如何使用java selenium将sendKeys用于ckeditor文本区域

https://blog.csdn.net/weixin_39874379/article/details/114784651

posted @   培轩  阅读(450)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示