2016-12-21 7 views
0

셀렌 IDE에서 XPath에 문제가 있습니다.Selenium IDE XPath : not 연산자가있는 waitForElementNotPresent이 작동하지 않습니다.

여기에 일부 레코드가있는 테이블이 있습니다. 테이블 헤더 맨 위에 필터링 드롭 다운 메뉴와 깔때기 모양의 아이콘이 있습니다.이 아이콘은 AJAX 함수를 호출하고 필터링 된 데이터를 돌려줍니다. 이제 문제는 셀렌 IDE가 AJAX 호출이 완료된 것을 인식하지 못한다는 것입니다. 내가 요소를 만드는거야 때

지금, 나는 다음과 같은 WORKING XPath으로 찾고 있어요 :

waitForElementPresent

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

삭제하는 경우, 상태가 비활성으로 변경 얻을. 그런 다음 동일한 'partyLabel'을 가진 모든 비활성 요소를 필터링합니다.

waitForElementNotPresent

:

는 그때 실제 partyState (비활성)을 구비하지 않으며

우선되지 않을 수있는 동일한 partyLabel 아닌 다른 모든 요소 기다리지,이 시도

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

이것은 작동하지 않았습니다.

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

지금, 나는이 작업을 얻을 여기 붙어 : 그럼 나도 일을하고 있지 않습니다 하나를 시도했다. 어떻게하면 다른 주를 가지고있는이 요소가 사라질 때까지 기다릴 수 있으며 찾고있는 것과 같지 않습니다. partyLabel

여기 한 테이블 행의 예 :

PartyLabel 먼저 td 요소이며 partyStatustd 소자 마지막 초이다.

<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