详细描述:之前用slenium ide录制脚本时,发现在文本编辑器(见图1)内输入文字这个动作没有被录制到脚本中(一般情况下,在文本框中输入文字时,会增加一条type命令)。而自己手动补上一条type命令也不管用。
问题解决:经过上网查阅资料。得知,通常网站上的这类文本编辑器通常都是直接使用的开源免费的文本编辑器,而不是网站本身自己的代码。这类文本框网上也叫富文本框。它的代码一般大致如下:
<iframe frameborder="0" id="introduce_field_ifr" display: block;"> <html>
<head xmlns="http://www.w3.org/1999/xhtml">
</head>
<body contenteditable="true" class="mceContentBody " id="tinymce" spellcheck="false" dir="ltr">
<p>
<br data-mce-bogus="1">
</p>
</body>
</html>
</iframe>
遇到这种文本编辑器,可以借助js来赋值。
selenium.run_script("
var element=window.document.getElementByIdx_x('introduce_field_ifr'); idocument=element.contentDocument;
element=idocument.getElementByIdx_x('tinymce');
element.innerHTML ='"+course_describe+"';")
course_describe
是需要填入文本编辑器中的文本。