我正在尝试让我的脚本单击名为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>
非常感谢任何帮助!
答案 0 :(得分:0)
如果我看起来正确,你应该首先到达父节点,然后再尝试进入下一个兄弟...因为“a”元素没有兄弟,所以基本上是这样的:
// tr / td / a [@ class ='title-abbr'和text()='123456'] /../ follow-sibling :: td / a [text()='Enter Response']
您也可以使用follow-sibling :: td [2]而不是在xpath的第二部分中按文本选择,但也许您出于某种原因需要它。
顺便提一下: