XPath - 如果子元素不是特定字符串

时间:2015-08-21 08:00:05

标签: xpath web-scraping

它可以做到这一点?获取所有表格" tr" s除了具有特定字符串的元素的tr。

示例:

<div class="span5">
    <table class="table">
        <tbody>
            <tr>
                <th>Apple</th>
                <td>Red</td>
            </tr>
            <tr>
                <th>Banana</th>
                <td>Yellow</td>
            </tr>
            <tr>
                <th>Potato</th>
                <td>Brown</td>
            </tr>
        </tbody>
    </table>
</div>

简单的例子,一个有2列的表,我可以用下一个Xpath选择表:

//div[@class='span5']/table[@class='table']

但它可以选择没有&#34; tr&#34;包含:

//th[.='Potato']

我通过解决问题来解决所有表格,然后过滤&#34; tr&#34; Python中的内容,但我希望使用XPath进行过滤并优化我的代码而不在内存中充电。

由于

-----------------------

解决:

//div[@class='span5']/table[@class='table']//tr[./th[.!='Potato']]

1 个答案:

答案 0 :(得分:0)

您的XPath可以更简单一些,如下所示:

//div[@class='span5']/table[@class='table']//tr[th != 'Potato']