Selenium IDE XPath:waitForElementNotPresent with not运算符不起作用

时间:2016-12-21 13:12:34

标签: html selenium xpath selenium-ide

我在Selenium IDE中遇到XPath的问题。

我有一张表,里面有一些记录。在表格标题的顶部,我有一些过滤下拉菜单和一个漏斗图标,它调用一个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>

1 个答案:

答案 0 :(得分:0)

该元素可能仍然存在于HTML中,但只是隐藏。尝试使用waitForVisible和waitForNotVisible