Selenium IDE单击由文本标识的行中的按钮

时间:2016-07-30 01:20:25

标签: selenium-ide

我正在尝试让我的脚本单击名为Enter Response的按钮,该按钮位于与特定文本(SID)相同的行中。我可以单独找到它们,但似乎不能同时工作。

该表是动态的,因此我使用SID,找到它的行,然后想要点击它的响应按钮。 I.E.找到文字' 123456' &安培;点击'输入回复'发现在同一行。

我试过这个,但是找不到错误定位器: // TR / TD /一个[@class ='标题-简称'和text()=' 123456'] / follow-sibling :: td / a [text()='输入回复']

表行标题: 标题/来源/来源ID / SID /创建日期/(输入响应按钮)/表单类型

<tr>
    <td class="t-Report-cell" headers="TITLE_ABBR">this is my title</td>
    <td class="t-Report-cell" headers="SOURCE_NAME">source1</td>
    <td class="t-Report-cell" headers="SOURCE_NUMBER">142417</td>
    <td style="background-color: rgb(13, 13, 13);" class="t-Report-cell" headers="SID_ABBR">
       <a href="javascript: void(0);" title="123456" class="title-abbr" style="text-decoration: none;    background-color: transparent;">123456</a>
    </td>
    <td class="t-Report-cell" headers="TRANSACTION_DATE">07/28/2016</td>
    <td style="background-color: rgb(13, 13, 13);" class="t-Report-cell" headers="LINK" align="center">
       <a style="background-color: rgb(0, 255, 255);" class="response-btn"    href="f?p=58117:50:27077013481519::NO::P50_TRIGGER_ID:321860">Enter Response</a>
    </td>
    <td class="t-Report-cell" headers="FORM_TYPE">Questions</td>
</tr>

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

如果我看起来正确,你应该首先到达父节点,然后再尝试进入下一个兄弟...因为“a”元素没有兄弟,所以基本上是这样的:

// tr / td / a [@ class ='title-abbr'和text()='123456'] /../ follow-sibling :: td / a [text()='Enter Response']

您也可以使用follow-sibling :: td [2]而不是在xpath的第二部分中按文本选择,但也许您出于某种原因需要它。

顺便提一下:

  • 如果元素可以有多个样式类,则必须使用contains
  • 这同样适用于文本,提防空格等。你应该修剪文本或使用包含以避免错误的选择器