selenium+python解决有关富文本框的方法

环境: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了,两种方法都提供了 


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值