selenium自动化测试在富文本中输入信息的方法
第一次用selenium+python编写自动测试脚本,因为页面中插入了富文本编辑,开始怎么都无法输入进去,度娘好多方法都无效,分享踩坑的经历一是为了记录一下自己的成长,二是为了给同样摸索selenium初学者的同行一个借鉴,与君共勉。
第一种方法切换frame:
driver.switch_to.frame(driver.find_element_by_xpath('//*[@id="edui1_iframeholder"]'))
# print(223)
driver.find_element_by_xpath('/html/body').send_keys("测试切换frame能否实现富文本编辑")
经过多次尝试无效,可能是因为却还frame出现的问题,不建议使用
第二种方法使用js进行实现:
# test_js = 'document.getElementById("ueditor_0").contentWindow.document.body.innerHTML="%s"' % ("测试切换frame能否实现富文本编辑")
# driver.execute_script(test_js)
test_js = 'document.getElementById("ueditor_0").contentWindow.document.body.innerText="%s"'%("测试切换frame能否实现富文本编辑"")
driver.execute_script(test_js)
innerHTML与innerText都可以实现
如果该富文本编辑器所在的iframe没有id,可以是用js="document.getElementsByClassName(\"wind_editor_iframe\")[0].contentWindow.document.body.innerHTML=\"%s\"" %("内容")
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步