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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战