詳細(xì)描述:之前用slenium ide錄制腳本時(shí),發(fā)現(xiàn)在文本編輯器(見(jiàn)圖1)內(nèi)輸入文字這個(gè)動(dòng)作沒(méi)有被錄制到腳本中(一般情況下,在文本框中輸入文字時(shí),會(huì)增加一條type命令)。而自己手動(dòng)補(bǔ)上一條type命令也不管用。
問(wèn)題解決:經(jīng)過(guò)上網(wǎng)查閱資料。得知,通常網(wǎng)站上的這類文本編輯器通常都是直接使用的開(kāi)源免費(fèi)的文本編輯器,而不是網(wǎng)站本身自己的代碼。這類文本框網(wǎng)上也叫富文本框。它的代碼一般大致如下:
<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來(lái)賦值。
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
是需要填入文本編輯器中的文本。