Javascript XPATH-如何选择在表中同一行的列中有多个值的tr?

Javascript XPATH-如何选择在表中同一行的列中有多个值的tr?,javascript,html,selenium,xpath,Javascript,Html,Selenium,Xpath,我有一个包含多行的表,我正在尝试使用xpath查找每列中包含特定值的一行。例如,第1列有id=“transactionDetails”,第2列有text=“VOICE CALL” 我应该使用什么XPATH来获取在特定列中包含这两个值的行 <td class="nmy_vtab_D" nowrap="nowrap" align="right"> <a id="transactionDetails" onclick="document.TRANSACTION_DETAILS.tra

我有一个包含多行的表,我正在尝试使用xpath查找每列中包含特定值的一行。例如,第1列有id=“transactionDetails”,第2列有text=“VOICE CALL”

我应该使用什么XPATH来获取在特定列中包含这两个值的行

<td class="nmy_vtab_D" nowrap="nowrap" align="right">
<a id="transactionDetails" onclick="document.TRANSACTION_DETAILS.transactionId.value='0_2780001_5170302';document.TRANSACTION_DETAILS.submit();return false;" href="#">02/26/2014 01:39:26</a>
</td>
<td class="nmy_vtab_D" nowrap="nowrap" align="left">VOICE CALL</td>

语音通话

您在其中的标记表示两个表格单元格,其中一个单元格包含日期文本链接,另一个单元格包含语音通话文本。link元素包含一个ID,因此如果确实需要,您可以在xpath中使用该ID来获取整个单元格:

//a[@id="transactionDetails"]//..
对于第二个,你可以考虑使用课文吗?

//td[text()=="VOICE CALL"]

此表达式应适用于此任务:

//tr[td[1]/a/@id=“transactionDetails”和td[2]/text()=“语音呼叫”]

它选择
tr
第一个
td
有一个
a
带有id=“transactionDetails”的标签,第二个
td
有一个文本“VOICE CALL”。

是的,如果我有一行,它可以工作。但是,如果有多行具有相同的ID=“transactionDetails”,那么我们需要比较第二列以找到正确的行。Sry,我没有正确回答这个问题。另一方面,HTML元素Id应该(必须)是唯一的。id=name[CS]此属性为元素指定名称。此名称在文档中必须是唯一的,HTML5也是如此