Xpath 不匹配



我正试图从页面中获取一些元素。不幸的是,它的结果是一个空列表。打印精美的树包含以下元素:

<html:a title="..." href="..." id="..." class="topic_title">...</html:a>

然而,当我在同一棵树上这样做时:

page.xpath('''.//a[@class="topic_title"]''')

我得到一个空列表。该树是用html5lib/lxml treebuilder创建的。

看起来好像正在处理XHTML,因此可以在计算XPath表达式之前注册名称空间html:

page.xpath('''.//html:a[@class="topic_title"]''',
           namespaces={'html': 'http://www.w3.org/1999/xhtml'})

参见名称空间和前缀:

如果XPath表达式使用名称空间前缀,则必须在前缀映射中定义它们。为此,将一个字典传递给namespaces关键字参数,该参数将XPath表达式中使用的名称空间前缀映射到名称空间uri。

相关内容

  • 没有找到相关文章

最新更新