前⾔
在使⽤Selenium测试⼀些CMS后台系统时,有时会遇到⼀些富⽂本框,如下图所⽰:
整个富⽂本编辑器是通过iframe嵌⼊到⽹页中的,⼿动尝试输⼊内容,发现内容是输⼊到iframe页⾯的body中的,这种富⽂本框怎么输⼊呢?
我们也可以直接在body的源码上点击右键选择Edit HTML,输⼊相应的html代码,达到向富⽂本框输⼊的⽬的,如下下图:
以下是使⽤Selenium的操作⽅法
只输⼊纯⽂本
如果只输⼊不带格式的纯⽂本,可以先切换到这个iframe,然后定位到body,send_keys相应的⽂本即可,代码如下:
from selenium import webdriverdr = 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 webdriverdr = webdriver.Chrome()
dr.get('http://www.vemmis.com/bjq/index.html')
js = \"document.querySelector('#ueditor_0').contentDocument.querySelector('body').innerHTML='
运⾏完效果如下
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
因篇幅问题不能全部显示,请点此查看更多更全内容