我正在尝试找到一种与文本具有相同tr的按下按钮的方式,通过该按钮可以本地化要下载的特定文件。我将对其进行详细描述:
有一个包含许多tr的网站。每个tr包含一对子td。这些td包含说明和下载按钮。我需要通过对其td的描述来定位所需的tr。然后,我想转到包含该tr下载按钮的td。
说明有所不同,但我只对包含“ DV”文本的内容感兴趣。一个网站上总是有几个,但我想首先选择。到目前为止,我发现的是:
$x("//*[contains(text(), 'DV')]")[0]
然后我不知道如何转到父元素,然后转到包含下载按钮的同级td。
HTML看起来像这样
<tr>
<td class='a'>DV some other characters1</td><td class='a'>Download button code</td>
</tr>
<tr>
<td class='a'>DV some other characters2</td><td class='a'>Download button code</td>
</tr>
<tr>
<td class='a'>Some other description</td><td class='a'>Download button code</td>
</tr>
如上所述,我想用DV来获得第一个td,然后转到下载按钮。
答案 0 :(得分:1)
尝试在XPath下找到与td
开头的"DV"
在同一行中的第一个“下载”按钮
(//tr[starts-with(td, 'DV')]/td[.='Download button code'])[1]
或使用following-sibling
:
(//td[starts-with(., 'DV')]/following-sibling::td[.='Download button code'])[1]
答案 1 :(得分:1)
根据您共享的 HTML ,找到包含文本 DV 的第一个<td>
并标识包含文本下载的相应元素,您可以使用以下 xpath :
"//tr//td[@class='a'][contains(.,'DV')]//following::td[1]"
答案 2 :(得分:0)
您可以这样做:
//td/parent::tr - gives the parent 'tr' of 'td'
我无法提供确切的xPath
,同时又不完全了解您想要达到的目标。但是使用我的例子并不难发现。您还可以找到有关xPath轴here的更多信息。
答案 3 :(得分:0)
您可以参考以下内容:
//td[contains(text(),'characters1')]//following::td[contains(text(),'Download button code')]