python beautifulsoup español - ¿Cómo usar lxml para encontrar un elemento por texto?




1 Answers

Otra forma que me parece más directa:

results = []
root = lxml.hmtl.fromstring(the_html_above)
for tag in root.iter():
    if "TEXT A" in tag.text
        results.append(tag)
web scraping leer

Supongamos que tenemos el siguiente html:

<html>
    <body>
        <a href="/1234.html">TEXT A</a>
        <a href="/3243.html">TEXT B</a>
        <a href="/7445.html">TEXT C</a>
    <body>
</html>

¿Cómo hago para que encuentre el elemento "a", que contiene "TEXTO A"?

Hasta ahora tengo:

root = lxml.hmtl.document_fromstring(the_html_above)
e = root.find('.//a')

He intentado:

e = root.find('.//a[@text="TEXT A"]')

pero eso no funcionó, ya que las etiquetas "a" no tienen ningún atributo "texto".

¿Hay alguna manera en que pueda resolver esto de manera similar a lo que he probado?




Related