在表中查找行,因为我正在查看列上的值。XPATH

  • 本文关键字:XPATH 查找 因为 html xpath
  • 更新时间 :
  • 英文 :


我正在尝试找到表的行,因为我正在列中寻找一个值。具有行值后,我可以在行中访问其他列。我已经知道该怎么做,但这对我来说并不满意。我正在寻找建议。

我有一排看起来像这样的行:

<table data-qa="reportTable">
    <tr class="even">
        <td style="">Testing</td>
        <td>2019-11-21 00:00:00.0</td>
        <td>2019-11-24 00:00:00.0</td>
        <td>
            <a href="Some URL" class="followLink">1</a>
        </td>
        <td>$1500.00</td>
    </tr>
</table>

我想获得

<a></a>

,url。

我尝试了以下内容:


//table[@data-qa="reportTable"]//tr[td[1]="Testing"]//a[@class="followLink"]
  1. 我选择表。
  2. 然后查找该行,索引由步骤3定义。
  3. 在列中查找内容,并获取索引。
  4. 寻找URL。

假设我要寻找的价值总是在1上。在1上找到值后,然后寻找行,然后获得"一些URL"最后我需要URL。

我只想知道这样做是否有更好的主意,因为它看起来很混乱,因此对任何想法都表示赞赏。我已经看了其他解决方案,但看起来都一样。

谢谢!

您可以尝试此xpath以获取所需的内容,而不论索引:

//*[@data-qa='reportTable']//tr[td[.='Testing']]//a[@class='followLink']

此xpath表达式:

//table[@data-qa="reportTable"]//td[1][text()="Testing"]/following-sibling::td/a/@href

选择

一些URL

不管索引如何,您都可以获取URL。

//table[@data-qa="reportTable"]/tr[td[text()="Testing"]]/td/a[@class="followLink"]

,或者如果您的测试总是在您之前进行,则可以使用此。

//table[@data-qa="reportTable"]/tr/td[preceding-sibling::td[text()="Testing"]]/a[@class="followLink"]

您也可以尝试以下XPath。

//table[@data-qa='reportTable']//td[text()='Testing']/parent::tr//td/a/@href

在这里,我试图找到表格,查找具有文本"测试"的列,为此列获取行,然后在同一行的其他列中找到" A"以获取HREF。<<<<<<<<<<

希望您发现它有用。

最新更新