话不多说,先上源码:
<div position ="relative " >
<textarea id ="artContent " class ="span14 " name ="fckeditorContent " validate-rules ="[['required','请填写$']] " validate-title ="正文 " style ="display:
none; " aria-hidden ="true " > </textarea >
<span id ="artContent_parent " class ="mceEditor
defaultSkin " role ="application " aria-labelledby ="artContent_voice " >
<span id ="artContent_voice " class ="mceVoiceLabel " style ="display:none; " > Rich
Text Area </span >
<table id ="artContent_tbl " class ="mceLayout " cellspacing ="0 " cellpadding ="0 " role ="presentation " style ="width:
680px; height: 300px; " >
<tr class ="mceFirst " role ="presentation " >
<td class ="mceIframeContainer mceFirst mceLast " >
<iframe id ="artContent_ifr " frameborder ="0 " src ="javascript:"" " allowtransparency ="true " title ="Rich
Text AreaPress ALT-F10 for toolbar. Press ALT-0 for help " style ="width: 100%; height: 277px; display: block; " >
<head xmlns ="http://www.w3.org/1999/xhtml " >
<body id ="tinymce " class ="mceContentBody
" contenteditable ="true " onload ="window.parent.tinyMCE.get('artContent').onLoad.dispatch(); " spellcheck ="false " dir ="ltr " >
一看源码,我以为是富文本问题,网站找了资料怎么操作富文本的,调用富文本API的,我对富文本不熟悉啊,照猫画虎,做完了不行啊,惆怅的。。。
这个东西selenium ide也录不了哇,Xpath也找不到啊,没有出路哇,。。后来问了一大牛,大牛说操作textarea,修改textarea属性(style ="display: none; " aria-hidden ="true ),,结果试了试,也是不行啊。。。。
没办法,在找了些资料,再看看源码。。。。。看到了这个 “<!DOCTYPE >”
这个是什么? frame啊。。。。切frame 试试吧 。。。
终于皇天不负有心人,成功搞定啦。。。。。
上源码。。。
WebElement iframe=driver.findElement(By.xpath("//iframe[@id='artContent_ifr']")); //找到iframe
driver.switchTo().defaultContent();//切换到默认内容
driver.switchTo().frame(iframe);//切换到目标frame
driver.findElement(By.xpath("//body[@id='tinymce']")).sendKeys("'<p>'"+content+"'</p>'");//send内容
driver.switchTo().defaultContent();//切回到默认内容
在进行下一步操作就ok了。
撒花。。。