这是我的HTML代码:
<html>
<body>
<table border=1>
<tr>
<th>foo</th>
<th>bar</th>
</tr>
<tr>
<td>1235;lsdfm*</td>
<td>bar-value</td>
</tr>
</table>
<table border=1>
<tr>
<th>bar</th>
<th>foo</th>
</tr>
<tr>
<td>bar-value</td>
<td>sdfgsdfrr</td>
</tr>
</table>
</body>
</html>
我想选择与td
相关的th
,其中包含&#34; foo&#34;文本。换句话说,我想选择带有值的td
&#34; sdfgsdfrr&#34;和&#34; 1235; lsdfm *&#34;。
到目前为止,我尝试使用与Jsoup selector API兼容的css选择器:
table:has(th:matchesOwn(^foo$)) ??
答案 0 :(得分:1)
即使使用jsoup提供的选择器,我也不认为这是可能的。例如,您无法使用:has()
表示元素之间的列或位置关系。
选择器4提出了一些用于按列定位单元格元素的附加内容,包括截至2015年1月的column combinator ||
。但是,当前文本似乎表明||
要求您的表格具有明确{{1}元素为了工作,所以在这里也不会有用。
使用一个选择器,你可能没有太多运气。您也可以选择col
,确定其位置,然后使用此信息单独找到th
。您可能需要为每个表或每列单独执行此操作。