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的同行一个借鉴 , 与君共勉 。
文章插图
jQuery对象转成DOM对象:
两种转换方式将一个jQuery对象转换成DOM对象:[index]和.get(index);
(1)jQuery对象是一个数据对象 , 可以通过[index]的方法 , 来得到相应的DOM对象 。
如:var $v =$("#v") ; //jQuery对象
var v=$v[0]; //DOM对象
alert(v.checked) //检测这个checkbox是否被选中
(2)jQuery本身提供 , 通过.get(index)方法 , 得到相应的DOM对象
如:var $v=$("#v"); //jQuery对象
var v=$v.get(0); //DOM对象
alert(v.checked) //检测这个checkbox是否被选中
DOM对象转成jQuery对象:
对于已经是一个DOM对象 , 只需要用$()把DOM对象包装起来 , 就可以获得一个jQuery对象了 。 $(DOM对象)
如:var v=document.getElementById("v"); //DOM对象
var $v=$(v); //jQuery对象
转换后 , 就可以任意使用jQuery的方法了 。
通过以上方法 , 可以任意的相互转换jQuery对象和DOM对象 。 需要再强调注意的是:DOM对象才能使用DOM中的方法 , jQuery对象是不可以用DOM中的方法 。
文章插图
1.name="topwin" 请改写成id="topwin" , 对于window.frameset这样简洁的写法 , chrome只认id , 而IE则这样处理:先找有没有id=topwin的frameset , 如果有直接取到 , 如果没有 , 则寻找name="topwin"的frameset 。
2.对于你的第二个问题 , 没看懂 , 你是需要怎样的鼠标样式?你取节点的时候 , 建议不要直接用id名 , 用:document.getElementById();这个方法能保证对所有浏览器都生效 , img1.src=https://www.quzhiku.com/jiaoyuzhishi/“XXX”;这句改成document.getElementById(“img1”).src=“XXX”;应该就没问题了