6

lxml 中的 xpath() 函数通常返回元素列表。

如果我有一个 XPath,我希望它只返回一个元素,那么最好的方法是:

  • 检查是否返回了一个元素,否则会引发异常,并且:
  • 获取那个元素(而不是一个元素列表)?

我真的在寻找 SQLAlchemy 的 one() 函数的类似物。

4

1 回答 1

19
try:
    (element,) = tree.xpath('//xpath/selector')
except ValueError:
    raise InvalidSelector()
    # happened because the list was either empty or contained multiple elements
于 2012-09-27T06:37:49.083 回答