环境:html代码中iframe没有ID,没有NAME属性,textarea有ID属性
方法一:如果iframe有ID,首先应该使用js去实现,代码如下:
set_wyswyg_js = 'document.getElementById("content_ifr").contentWindow.document.body.innerHTML="%s"' %(content)self.dr.execute_script(set_wyswyg_js) content_ifr:iframe的ID innerHTML也可以使用innerText
这个js的方法是乙醇给我参考的,而乙醇在学习上给我和其他很多人指明了思路,虽然没有手把手的教,但是给了很好的提示,再次感谢
方法二:因为我们的网页代码使用的是KindEditor富文本编辑器,所以可以参照KindEditor的API方法,我在这里使用的是KE.text(id,value)这种方法去搞定的。
备注:弄了一天这个富文本编辑器的问题,由最初想到的js但是因为找不到ID的原因只得中途放弃,使用KE.text方法轻松搞定。但是还是深切的建议大家碰到这种问题首先想到用
js解决,不要考虑所谓的切换iframe。我现在的解决办法只是解决了眼前的问题,归根到底这个问题还是没有得到真正的解决,等开发人员把ID加上之后我会尝试js的方式,如果
可以我会更新此文章。
前一段时间已经找到了使用js来处理此类问题的方法,因为一直在忙所以忘记了更新,今天就补上
js="document.getElementsByClassName(\"wind_editor_iframe\")[0].contentWindow.document.body.innerHTML=\"%s\"" %("内容")
请注意这里使用的是getElementsByClassName,因为该富文本编辑器所在的iframe没有id,所以采用了这种方式之前看js的语法的时候没有看到这种用法,我也是经过别人提示才使用的
本博客的内容都是作为小白的我在摸索和询问中得到的经常遇到的问题,一是为了记录一下自己的成长,二是为了给同样摸索selenium的同行一个借鉴,与君共勉。
现在ok了,两种方法都提供了
原文链接:http://blog.csdn.net/u012189659/article/details/34113103