python - xpath - 跟随兄弟问题

标签 python xpath

基本问题是我遗漏了一些东西。

有文本 html

    <tr ><td class="CourseTitle" >foo </td></tr>
<tr ">      <th >Code</th><th >Type</th>    </tr>
<tr valign="top" bgcolor="#FFFFCC"><td ">40000</td><td ">40000</td></tr>
<tr valign="top" bgcolor="#FFFFCC"><td ">40001</td><td ">40000</td></tr>
<tr valign="top" bgcolor="#FFFFCC"><td ">40002</td><td ">40000</td></tr>
<tr valign="top" bgcolor="#FFFFCC"><td ">40003</td><td ">40000</td></tr>
<tr valign="top" bgcolor="#FFFFCC"><td ">40004</td><td ">40000</td></tr>


<tr class="blue-bar" bgcolor="navy"><td colspan="16"></td></tr>

<tr "><td class="CourseTitle" >asaa     </td>   </tr>
<tr valign="top" bgcolor="#FFFFCC"><td ">4sd0003</td><td ">40000</td></tr>
<tr valign="top" bgcolor="#FFFFCC"><td ">400sd04</td><td ">40000</td></tr>

我正在尝试找出一种方法来获取“tr”之后的所有后续 tr/td,其中“tr”的“td”带有 @class="CourseTitle"

类似于:

/html/body/div[5]/table/tbody/tr[3]/td[@class="CourseTitle"]/../following-sibling::tr//td[@class="CourseTitle"]

仅获取具有匹配 td/@class 的所有 tr 的列表,这不是我想要的。

我一直在试图弄清楚当 sibling 的 child 符合条件时如何获得 sibling 。

我正在 python 中使用 libxml 库对此进行测试。

谢谢

最佳答案

无论如何,我都不是 XPath 专家,但您可以随时尝试:

//tr/td[@class="CourseTitle"]/../following-sibling::tr/td[not(@class="CourseTitle")]/..

关于python - xpath - 跟随兄弟问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7249555/

相关文章:

python gtk问题

python - 在 Python 中定义类变量的正确方法

python - Numpy,计算二维数组中的唯一邻居

xslt - XPATH是否有任何类似SQL“IN”的内容?

selenium - 使用 Selenium 选择多个元素

python - 采取没有功能的 pandas groupby 结果并将它们组合成列的适当方法是什么?

python - Seaborn 箱线图单个箱间距

python - 无法使用 Scrapy 从父节点和子节点/标签获取文本

xpath - 使用 Selenium Webdriver 单击超链接

ruby - 使用 Nokogiri 根据子属性的值提取父属性的值