2016-12-21 2 views
0

Ich habe ein Problem mit einem XPath in Selenium IDE.Selenium IDE XPath: waitForElementNotPresent mit nicht Operator funktioniert nicht

Ich habe eine Tabelle, wo einige Datensätze drin sind. Über den Tabellenköpfen habe ich einige Filter-Dropdown-Menüs und ein Trichtersymbol, das eine AJAX-Funktion aufruft und mir die gefilterten Daten zurückgibt. Nun ist das Problem, Selenium IDE erkennt nicht, wenn der AJAX-Aufruf beendet ist. Jetzt

, wenn ich das Element bin zu schaffen, ich suche sie mit folgendem WORKING XPath:

waitForElementPresent

//tr[td/text()='${partyStatus}' and td/text()='${partyLabel}'] 

Beim Löschen erhält der Status auf Inaktiv geändert. Dann filtere ich nach allen inaktiven Elementen mit dem gleichen 'partyLabel'.

Dann i für alle anderen Elemente warten wollen, die die tatsächliche partyState nicht aufweisen, sind (inaktiv) und sind nicht das gleiche Partylabel nicht vorhanden sein

Zuerst habe ich versucht, dieses:

waitForElementNotPresent

//tr[td/text()!='${partyStatus}' and td/text()!='${partyLabel}'] 

Dies hat nicht funktioniert. Dann versuchte ich dieses, das auch nicht funktionierte:

//tr[not(td/text()!='${partyStatus}') and not(td/text()='${partyLabel}')] 

Jetzt bin ich hier fest, um dieses Arbeiten zu erhalten. Wie kann ich darauf warten, dass die Elemente verschwinden, die den anderen Zustand haben und nicht gleich partyLabel sind wie dieser, den ich suche.

Hier ist ein Beispiel einer Tabellenzeile:

PartyLabel ist erstes td Element und partyStatus ist td zweites Element zu halten.

<tr id="mf:searchAdministrable:0_row_0"> 
    <td style="width:10%">Trader</td> 
    <td style="width: 2%;">&nbsp;</td> 
    <td><span id="mf:searchAdministrable:0:j_idt90">Not Started</span></td> 
    <td style="width:10%">0570-123456-4</td> 
    <td style="width: 8%;">142223</td> 
    <td style="width: 26%;">John Doe #4</td> 
    <td style="width:15%;"><span id="mf:searchAdministrable:0:j_idt107"><span id="mf:searchAdministrable:0:j_idt107"> United Kingdom</span></span>&nbsp;</td> 
    <td style="width:8%">SNG</td> 
    <td style="width:9%;">Inactive</td> 
    <td style="width: 12%;"><a onclick="mojarra.jsfcljs(document.getElementById('mf'),{'mf:searchAdministrable:0:edit':'mf:searchAdministrable:0:edit'},'');return false" href="#" id="mf:searchAdministrable:0:edit"><img width="16" height="16" src="/skinned/javax.faces.resource/com.csg.jsf.resources.icons/skin/csstandard12/ico_edit_16_cli.gif?conversationContext=j&amp;transactionToken=0.6158652516940941" alt="ico_edit" id="mf:searchAdministrable:0:editIcon"></a><a onclick="mojarra.jsfcljs(document.getElementById('mf'),{'mf:searchAdministrable:0:delete':'mf:searchAdministrable:0:delete'},'');return false" href="#" id="mf:searchAdministrable:0:delete"><img width="16" height="16" src="/skinned/javax.faces.resource/com.csg.jsf.resources.icons/skin/csstandard12/ico_delete_16_cli.gif?conversationContext=j&amp;transactionToken=0.6158652516940941" alt="ico_delete" id="mf:searchAdministrable:0:deleteIcon"></a><a onclick="mojarra.jsfcljs(document.getElementById('mf'),{'mf:searchAdministrable:0:screen':'mf:searchAdministrable:0:screen'},'');return false" title="Screen Transaction Not Started" href="#" id="mf:searchAdministrable:0:screen"><img width="16px" height="16px" src="/images/ico_worldcheck.gif?conversationContext=j&amp;transactionToken=0.6158652516940941" id="mf:searchAdministrable:0:screenIcon"></a></td> 
</tr> 

Antwort

0

Das Element ist möglicherweise noch im HTML vorhanden, aber nur versteckt. Versuchen Sie stattdessen mit waitForVisible und waitForNotVisible

+0

Nein Tabelle wird neu geladen coplete. Das Element ist danach verschwunden. Auch in der HTML-Quelle. – 3limin4tor

Verwandte Themen