2016-12-21 3 views
0

У меня проблема с XPath в Selenium IDE.Selenium IDE XPath: waitForElementNotPresent с не оператором не работает

У меня есть таблица, где хранятся некоторые записи. В верхней части заголовков таблиц у меня есть несколько раскрывающихся меню фильтрации и значок воронки, который вызывает функцию AJAX и возвращает мне отфильтрованные данные. Теперь проблема заключается в том, что Selenium IDE не распознает, когда вызов AJAX завершен.

Теперь, когда я создаю элемент, я смотрю на это с помощью следующих рабочих XPath:

waitForElementPresent

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

При удалении статус переодеться в Неактивный. Затем я фильтрую для всех неактивных элементов с тем же «partyLabel».

Тогда я хочу подождать, пока все другие элементы, не имеющие фактическую partyState (неактивный) и не то же самое partyLabel не присутствовать

Во-первых, я попытался это:

waitForElementNotPresent

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

Это не сработало. Затем я попробовал этот, который тоже не работал:

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

Теперь я застрял здесь, чтобы получить эту работу. Как я могу ждать исчезновения элементов, которые имеют другое состояние, и не то же самое partyLabel, как этот, который я ищу.

Вот пример одной строки таблицы:

PartyLabel является первым элементом td и partyStatus является вторым последним элементом td.

<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> 

ответ

0

Элемент все еще может присутствовать в HTML, но просто скрыт. Попробуйте использовать waitForVisible и waitForNotVisible вместо этого

+0

Нет таблицы, которую нужно перезагрузить. После этого элемент исчез. Также в html-источнике. – 3limin4tor