第一次用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\"" %("内容")