いいえ、lxmlは、探している「最初に検索するか、Noneを返す」メソッドを提供していません。必要に応じて使用する(select(soup) or [None])[0]
か、関数を作成してください。
#!/usr/bin/python
import lxml.html
import lxml.cssselect
soup = lxml.html.fromstring("""
<html>
<a href="foo" class="yyy zzz" />
<a href="bar" class="yyy" />
<a href="baz" class="zzz" />
<a href="quux" class="zzz yyy" />
<a href="warble" class="qqq" />
<p class="yyy zzz">Hello</p>
</html>""")
select = lxml.cssselect.CSSSelector("a.yyy.zzz, a.yyy")
print [lxml.html.tostring(s).strip() for s in select(soup)]
print (select(soup) or [None])[0]
さて、soup.find('a')
あなたが期待するように、確かに最初に要素またはNoneを見つけるでしょう。問題は、CSSSelectorに必要な豊富なXPath構文をサポートしていないようです。