You are very close. Use text()=
rather than @text
(which indicates an attribute).
e = root.xpath('.//a[text()="TEXT A"]')
Or, if you know only that the text contains "TEXT A",
e = root.xpath('.//a[contains(text(),"TEXT A")]')
Or, if you know only that text starts with "TEXT A",
e = root.xpath('.//a[starts-with(text(),"TEXT A")]')
See the docs for more on the available string functions.
For example,
import lxml.html as LH
text = '''\
TEXT A
TEXT B
TEXT C
'''
root = LH.fromstring(text)
e = root.xpath('.//a[text()="TEXT A"]')
print(e)
yields
[]