近在使用IATA執(zhí)行CASE的時(shí)候發(fā)現(xiàn)在chrome瀏覽器下處理一些類似所見即所得的富文本框,頁面元素在switchintoframe后無法正常切換回來,針對這個(gè)問題給出一個(gè)解決方案供大家交流。
具體如下
如圖所示,這是一個(gè)比較常見的富文本編輯框,在chrome下使用默認(rèn)的處理方式即switch 進(jìn)FRAME然后編輯完內(nèi)容可能會發(fā)生無法切換回當(dāng)前操作的window的問題,原因是chromedriver中switch操作元素的函數(shù)對富文本框的支持不是很好。
下面給出一種可行的思路大家交流一下,首先我們看一下這個(gè)頁面的源碼,找到這個(gè)編輯框的定義,操作方法,firefox 可以右鍵頁面空白處選擇 view page source ,搜索這個(gè)page source的 編輯框所定義的頁面代碼,上圖中的輸入框在頁面中定義的代碼為:
如圖中所示,我們發(fā)現(xiàn)這個(gè)textarea的id為 apf_id_1_f31 , 然后因?yàn)槲覀冎肋@個(gè)輸入框是一個(gè)富文本編輯框,我們可以全文搜索下apf_id_1_f31的定義,發(fā)現(xiàn)如下信息
從page source中,我們發(fā)現(xiàn) KE.show({id:”apf_id_1_f31”…..
KE.show是神馬內(nèi)?
GOOGLE一下,在GOOGLE搜索框中輸入KE.show 搜索出來的第一條信息,
當(dāng)然 具體搜索出來的記錄可能會有略微變化,從搜索框中我們發(fā)現(xiàn)這是一個(gè)叫kindeditor的東東。從圖片中我們發(fā)現(xiàn)了和我們page source相似的KE.show({id:’content_1’…..。
試試在pagesource中查找下kindEditor~
神奇的發(fā)現(xiàn)頁面中有加載了kindeditor的js代碼,原來頁面中這個(gè)描述的輸入框是一個(gè)使用kindeditor的福本文框。
接下來 如果我們不希望調(diào)用selenium自己的切入富文本框的方式來做,我們可以使用kindeditor提供的默認(rèn)API來達(dá)到對文本框輸入信息的目的。