Xpath 定位从 CSS 开始
Xpath targeting starting from CSS
我想在 XPath(用于 Google 电子表格的 xmlImport 中)中定位 CSS 中的元素 .forum-table tr:nth-of-type(1) .forum-number-topics
:
<table class="forum-table forum-table-forums">
<thead class="forum-header">
<tr>
<th class="forum-icon"> </th>
<th class="forum-name">Forum</th>
<th class="forum-topics">Topics</th>
<th class="forum-posts">Posts</th>
<th class="forum-last-post">Last post</th>
</tr>
</thead>
<tbody id="forum-table-12892-content">
<tr class="forum-row even container-12897-child" id="forum-12897">
<td class="forum-list-icon forum-list-icon-default"> <span class="forum-list-icon-wrapper"><span>No new</span></span>
</td>
<td colspan="1" class="forum-details">
<div class="forum-name"> <a href="/forums/settimana-1-1">Settimana 1</a>
</div>
</td>
<td class="forum-number-topics">
<div class="forum-number-topics">20</div>
</td>
<td class="forum-number-posts">171</td>
<td class="forum-last-reply">n/a</td>
</tr>
<tr class="forum-row odd container-13043-child" id="forum-13043">
<td class="forum-list-icon forum-list-icon-default"> <span class="forum-list-icon-wrapper"><span>No new</span></span>
</td>
<td colspan="1" class="forum-details">
<div class="forum-name"> <a href="/forums/settimana-2-0">Settimana 2</a>
</div>
</td>
<td class="forum-number-topics">
<div class="forum-number-topics">21</div>
</td>
<td class="forum-number-posts">143</td>
<td class="forum-last-reply">n/a</td>
</tr>
<tr class="forum-row even container-13107-child" id="forum-13107">
<td class="forum-list-icon forum-list-icon-default"> <span class="forum-list-icon-wrapper"><span>No new</span></span>
</td>
<td colspan="1" class="forum-details">
<div class="forum-name"> <a href="/forums/settimana-3-0">Settimana 3</a>
</div>
</td>
<td class="forum-number-topics">
<div class="forum-number-topics">20</div>
</td>
<td class="forum-number-posts">91</td>
<td class="forum-last-reply">n/a</td>
</tr>
</tbody>
</table>
我指定了 tr:nth-of-type(1)
因为我需要在 Xpath 中使用相同的语法(带有数字实体)。
作为直译,我会尝试
//*[contains(@class, 'forum-table')]//tr[1]//*[contains(@class, 'forum-number-topics')]
请注意,这将 select <td>
和 <div>
元素,例如你在哪里
<td class="forum-number-topics">
<div class="forum-number-topics">
在输入中。另请注意,这假设您没有 "ornery" classes 包含 forum-table
但不是整个 class 名称,例如如果你的第一个 table 元素有 class="forum-table-forums"
而没有 forum-table
在那里。如果你需要更严格地匹配 class 个名字,你可以做
//*[contains(concat(' ', @class, ' '), ' forum-table ')]//tr[1]//
*[contains(concat(' ', @class, ' '), ' forum-number-topics ')]
(为清楚起见,虚线)。
我想在 XPath(用于 Google 电子表格的 xmlImport 中)中定位 CSS 中的元素 .forum-table tr:nth-of-type(1) .forum-number-topics
:
<table class="forum-table forum-table-forums">
<thead class="forum-header">
<tr>
<th class="forum-icon"> </th>
<th class="forum-name">Forum</th>
<th class="forum-topics">Topics</th>
<th class="forum-posts">Posts</th>
<th class="forum-last-post">Last post</th>
</tr>
</thead>
<tbody id="forum-table-12892-content">
<tr class="forum-row even container-12897-child" id="forum-12897">
<td class="forum-list-icon forum-list-icon-default"> <span class="forum-list-icon-wrapper"><span>No new</span></span>
</td>
<td colspan="1" class="forum-details">
<div class="forum-name"> <a href="/forums/settimana-1-1">Settimana 1</a>
</div>
</td>
<td class="forum-number-topics">
<div class="forum-number-topics">20</div>
</td>
<td class="forum-number-posts">171</td>
<td class="forum-last-reply">n/a</td>
</tr>
<tr class="forum-row odd container-13043-child" id="forum-13043">
<td class="forum-list-icon forum-list-icon-default"> <span class="forum-list-icon-wrapper"><span>No new</span></span>
</td>
<td colspan="1" class="forum-details">
<div class="forum-name"> <a href="/forums/settimana-2-0">Settimana 2</a>
</div>
</td>
<td class="forum-number-topics">
<div class="forum-number-topics">21</div>
</td>
<td class="forum-number-posts">143</td>
<td class="forum-last-reply">n/a</td>
</tr>
<tr class="forum-row even container-13107-child" id="forum-13107">
<td class="forum-list-icon forum-list-icon-default"> <span class="forum-list-icon-wrapper"><span>No new</span></span>
</td>
<td colspan="1" class="forum-details">
<div class="forum-name"> <a href="/forums/settimana-3-0">Settimana 3</a>
</div>
</td>
<td class="forum-number-topics">
<div class="forum-number-topics">20</div>
</td>
<td class="forum-number-posts">91</td>
<td class="forum-last-reply">n/a</td>
</tr>
</tbody>
</table>
我指定了 tr:nth-of-type(1)
因为我需要在 Xpath 中使用相同的语法(带有数字实体)。
作为直译,我会尝试
//*[contains(@class, 'forum-table')]//tr[1]//*[contains(@class, 'forum-number-topics')]
请注意,这将 select <td>
和 <div>
元素,例如你在哪里
<td class="forum-number-topics">
<div class="forum-number-topics">
在输入中。另请注意,这假设您没有 "ornery" classes 包含 forum-table
但不是整个 class 名称,例如如果你的第一个 table 元素有 class="forum-table-forums"
而没有 forum-table
在那里。如果你需要更严格地匹配 class 个名字,你可以做
//*[contains(concat(' ', @class, ' '), ' forum-table ')]//tr[1]//
*[contains(concat(' ', @class, ' '), ' forum-number-topics ')]
(为清楚起见,虚线)。