2016-10-21 3 views
0

Auch diese Frage könnte einfach oder schon gestellt sein, aber ich kann keine Antwort darauf finden. Alles, was ich bekomme, ist zu überprüfen, ob das Element anklickbar ist, aber das funktioniert nicht für mich. Gibt es eine einfache Lösung, um auf ein Element zu warten, bis es aktiviert wird. Ich habe Dropdown-Listen in meiner Anwendung und andere Dropdown-Optionen können nur ausgewählt werden, wenn im vorherigen Dropdown-Menü ein Wert ausgewählt wurde. Ich habe versucht unten Code, aber es funktioniert nicht.warten, bis Element aktiviert wird protratcor

var element = element(by.css('[id*="uxSeries"] select')); 
browser.wait(protractor.ExpectedConditions.elementToBeClickable(element), 10000); 

Fehlermeldung Ich erhalte:

Failed: abgestanden Element Referenz: Element nicht auf die Seite Dokument

HTML für Drop-Down angeschlossen ist, bevor es aktiviert erhalten:

<select name="GalleryControl$uxSeries" onchange="OnChangeScript" id="uxSeries" disabled="disabled" style="width:215px;"> 
     <option selected="selected" value="">All Series</option> 
     <option value="Value1">Option1</option> 
     <option value="Value2">Option2</option> 
     <option value="Value3">Option3</option> 
     <option value="Value4">Option4</option> 
     <option value="Value5">Option5</option> 
    </select> 

Nachdem ich Wert in meinem ersten Dr. Die Option opdown, disabled = "disabled" wird vom Dropdown-Menü entfernt. Kann ich auf den Browser warten, bis er aktiviert ist oder die Eigenschaft Deaktiviert ist nicht mehr?

+0

Was ist der Selektor von 'element' in deinem Beispiel? –

+0

@FlorentB. Ich wähle Element nach ID aus. – NewWorld

+0

Ich denke, versuchte Locator ist nicht korrekt, warum versuchen Sie nicht als 'Element (by.css (" # # uxSeries auswählen "));' oder 'element (by.id (" uxSeries "));' ?? –

Antwort

0

Failed: abgestanden Element Referenz: Element ist nicht

auf die Seite Dokument beigefügt

Diese Ausnahme aufgrund aufgetreten des Elements zu ändern, wie Sie sagen ich meine Anwendung von Dropdown-Listen in und anderen gesetzt haben Dropdown-Liste kann nur ausgewählt werden, wenn in der vorherigen Dropdown-Liste ein Wert ausgewählt wurde. bedeutet, wenn sie aktiviert wird, ändert sie ihre Position oder ein Attributwert ist möglicherweise disabled Attribut wird geändert, weshalb Sie Probleme haben.

Sie sollten zunächst versuchen, zu warten, bis dieses Element aus deaktivierten Zustand veraltete protractor.ExpectedConditions.stalenessOf() verwenden, dann findet wieder dieses Element, wenn es Zustand in ermöglichen, wie unten: -

var EC = protractor.ExpectedConditions; 

#find disabled select element first 
var disabledSelect = element(by.css("select#uxSeries[disabled='disabled']")); 

#now wait until this becomes stale from disabled state 
browser.wait(EC.stalenessOf(disabledSelect), 10000); 

#now find enabled select element 
var enabledSelect = element(by.css("select#uxSeries")); 

#now do your further steps 
+0

Funktioniert nicht für mich. Immer noch der gleiche Fehler, der besagt: "Failed: Ungültiger Elementstatus (Sitzungsinfo: chrome = 54.0.2840.71)" – NewWorld

Verwandte Themen