【问题标题】:Xpath | how do I know if the current node has a specific class or not路径 |我如何知道当前节点是否有特定的类
【发布时间】:2018-05-30 05:24:00
【问题描述】:

我正在使用 scrapy 提取数据。我在一个节点上获取有关尺寸的信息,基于类,我必须标记该尺寸是否可用。 我试过这个:

if size.xpath('./not([@class="sch-avaiable"])'):
            dictionary['out_of_stock'] = True

我的理解是,大小是指向当前节点,如果我使用'.'这表示当前节点,因此如果上面的表达式中没有 sch-available 类,则上面的表达式将返回当前节点。

如何使用 Xpath 知道当前节点是否有特定的类?

【问题讨论】:

  • 您可以检查特定类元素的计数(如果存在)
  • 怎么样?以前我使用这个 if 'sch-avaiable' not in size.xpath("@class").extract_first(): 但我被要求将这个 'not' 移动到 xpath 中

标签: python-3.x xpath scrapy web-crawler


【解决方案1】:

正确答案是

if size.xpath('self::*[not(contains(@class, "sch-avaiable"))]').extract()

这个自我:: 工作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-08
    • 1970-01-01
    • 1970-01-01
    • 2017-01-02
    相关资源
    最近更新 更多