2016-08-13 2 views
0

Wie wähle ich ein Element, das eigentlich ein Eingabetextbereich ist? Es zeigt wie:Wie wähle ich ein komplexes Eingabefeld?

<form> 
    ... 
     <iframe class="redactor_textCtrl redactor_MessageEditor redactor_BbCodeWysiwygEditor redactor_" frameborder="0"> 

      <html webdriver="true"> 

      <head> 
      <base href="someUrl"> 
      <link rel="stylesheet" href="someUrl"> 
      </head> 

      <body style="overflow-y: hidden; dir="LTR" contenteditable="true"> 
        //the input area is here on the page 
      <p><br></p> 
      </body> 

      </html> 

     </iframe> 

     <textarea name="message_html" id="ctrl_message_html" class="textCtrl MessageEditor BbCodeWysiwygEditor " ... </textarea> 
     ... 
</form> 

Ich habe versucht, TextArea- Element auswählen, aber es funktioniert nicht.

Antwort

0

(Angenommen, Sie Java verwenden) Eigentlich hier müssen Sie iframe wechseln, bevor Texteditor Element zu finden, wie folgt: -

driver.switchTo().frame(driver.fimdElement(By.cssSelector("iframe.redactor_textCtrl.redactor_MessageEditor.redactor_BbCodeWysiwygEditor redactor_"))); 

//Now find the text editor 
WebElement texteditor = driver.findElement(By.tagName("body")); 

//Now you can send keys here 
texteditor.sendKeys("your value"); 
+1

Keine Notwendigkeit, iframe zu wechseln als textarea-Element außerhalb des iframe-Tag ist. iframe endet kurz vor dem Textfeld. – Grasshopper

+0

@Grasshopper ja du hast Recht .. eigentlich ist es ein Texteditor, der in einem iframe ist, und OP möchte Wert auf Texteditor eingeben ... danke, darauf hinzuweisen ... :) –

+0

Dies funktioniert aus irgendeinem Grund nicht – thinker

Verwandte Themen