Javascript XPATH-如何选择在表中同一行的列中有多个值的tr?
我有一个包含多行的表,我正在尝试使用xpath查找每列中包含特定值的一行。例如,第1列有id=“transactionDetails”,第2列有text=“VOICE CALL” 我应该使用什么XPATH来获取在特定列中包含这两个值的行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
<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也是如此