2016-07-25 9 views
2

erkennt i erfolgreichNach Text sendet an CKEditor es nicht nächstes Element (Selen)

WebElement iframe = driver.findElement(By.tagName("iframe")); 
driver.switchTo().frame(iframe); 
WebElement tinymce = driver.findElement(By.tagName("body")); 
tinymce.clear(); 
tinymce.sendKeys("Automation Description"); 

Problem

Text "Automation Beschreibung" Text ckeditor durch diesen Befehl senden wird erfolgreich zu ckeditor weitergegeben . Aber. Locate nicht das nächste Element Schleppfehler

solches Element nicht angezeigt wird: Kann nicht Element lokalisieren: { "Methode": "XPath", "Selektor":“id = .//*[@ 'select2-STATE_NAME-Container'] "}

Wenn ich Baustein Kommentar zu

WebElement iframe = driver.findElement(By.tagName("iframe")); 
driver.switchTo().frame(iframe); 
WebElement tinymce = driver.findElement(By.tagName("body")); 
tinymce.clear(); 
tinymce.sendKeys("Automation Description"); 

Es erfolgreich entfernt das nächste Element hinzugefügt.

Helfen Sie mir, einen Befehl hinzuzufügen, so dass ich das nächste Element nach der SMS-Text an ckeditor suchen kann. Danke


Hier ist ein Screenshot:

screen shot

+0

Was haben Sie hinzugefügt, als in "Wenn ich Block Kommentar zu" hinzugefügt? –

+0

Welches Element ist das "nächste Element"? Ich ging zu ckeditor HTML, es gibt kein Attribut "select2-status_name-container". –

Antwort

2

Wie ich Ihren Code sehen Sie Rahmen wechseln gehen Zuerst finde dann ckeditor und setze den Wert. Aber Sie haben nicht zum Standardinhalt zurückgeschaltet, um das nächste Element zu finden, deshalb Selen, das den Lokator in bereits geschalteten Rahmen sucht, in dem Element nicht wirklich anwesend ist, also sollten Sie versuchen, zurück zu schalten, bevor Element unten zu finden:

WebElement iframe = driver.findElement(By.tagName("iframe")); 
driver.switchTo().frame(iframe); 
WebElement tinymce = driver.findElement(By.tagName("body")); 
tinymce.clear(); 
tinymce.sendKeys("Automation Description"); 

//Now switch back first to default 
driver.switchTo().defaultContent(); 

//Now you can go to find next element 

Hoffe es hilft ... :)

+1

danke @Saurabh – niazi

+1

seine Arbeit danke – niazi

0

Ich glaube, dies mit Ihrem Schalterrahmen Anweisung zu tun hat,

driver.switchTo().frame() 

Versuchen zu wechseln zurück auf 0 Indexrahmen oder Standard nach der Eingabe des Textes:

WebElement iframe = driver.findElement(By.tagName("iframe")); 
driver.switchTo().frame(iframe); 
WebElement tinymce = driver.findElement(By.tagName("body")); 
tinymce.clear(); 
tinymce.sendKeys("Automation Description"); 
driver.switchTo().frame(0); //To go back to main frame 
//continue 

Oder noch besser die Wähler für das Hauptrahmenfenster und swicth, um es zu finden, aber ich denke, 0 sollte

Hoffnung in Ihrem Fall arbeiten diese

hilft
+0

driver.switchTo(). DefaultContent(); mit diesem Befehl seine Arbeit – niazi