Der Versuch, HTML parsen der Lage sein sollte, nicht ich durch alle li
Elemente Schleife:lxml Htmlelement XPath parst mehr, als es zu
from lxml import html
page="<ul><li>one</li><li>two</li></ul>"
tree = html.fromstring(page)
for item in tree.xpath("//li"):
print(html.tostring(item))
print(item.xpath("//li/text()"))
ich diesen Ausgang erwartet:
b'<li>one</li>'
['one']
b'<li>two</li>'
['two']
aber ich dies:
b'<li>one</li>'
['one', 'two']
b'<li>two</li>'
['one', 'two']
Wie ist es möglich, dass xpath
beidebekommenElemente Text von item
in beiden Iterationsschritten?
Ich kann das mit einem Zähler als Index natürlich lösen, aber ich würde gerne verstehen, was vor sich geht.
Die Frage ist leicht, aber +1 für deutlich Code, Ihre erwartete Ausgabe und Ihre tatsächliche Leistung zeigt. – LarsH