0

我需要在 RFT 中进行工作选择,以防选择是通过 jQuery AJAX 选择完成的,其中 html 代码看起来像

<select style="display: none;" id="_campus_id" name="_campus_id">
  <option id="CAMPUS1" value="1">camp</option>
  <option id="CAMPUS2" value="2">camp2</option>
</select>
<input aria-haspopup="true" aria-autocomplete="list" role="textbox" autocomplete="off" class="ui-autocomplete-input ui-widget ui-widget-content ui-corner-left">
<button aria-disabled="false" role="button" class="ui-button ui-widget ui-state-default ui-button-icon-only ui-corner-right ui-button-icon" title="Show All Items" tabindex="-1">
  <span class="ui-button-icon-primary ui-icon ui-icon-triangle-1-s"></span><span class="ui-button-text"> 
  </span>
<button>

我需要“进入”输入框并输入文本,然后“按”{DOWN} 和 {ENTER}。我已经准备好了这部分,但是输入框没有任何唯一的 id,所以我想根据获得属性 ID 的选择找到输入框。

可以使用 getNext() 之类的东西,但我猜它在 RFT 中不存在。

任何其他想法如何使这项工作?如果页面上有多个 AJAX 选择?

4

3 回答 3

1

它是特定唯一对象的子对象,例如 div 还是表单?如果是这样,您可以使用 find() 方法来搜索特定对象的子对象。

字符串“ui-autocomplete-input ui-widget ui-widget-content ui-corner-left”在该类型的对象中是唯一的吗?您可以执行 find() 来获取所有输入框,然后遍历它们,使用 getProperty() 检查属性,直到您确定自己拥有正确的输入框。这可以与上述建议结合使用。

于 2012-03-14T14:51:35.540 回答
0

经 IBM 支持确认,根据当前版本,RFT 没有任何与 jQuery .next() 方法等效的方法。我为增强功能创建了一张票。

于 2012-07-19T03:02:39.540 回答
0

您可以从选择框中获取所有内容,并使用一些正则表达式来搜索关键字或完整的句子,作为您的选择。

于 2013-11-13T01:39:26.333 回答