Wertattribut für lxml.html

Hier ist mein Code:

from lxml.html import fromstring #code print fromstring(s).xpath('/html/body/div[3]/div/div[2]/div/form/input[4]') 

Ouput ist [<InputElement 2946d20 name='question' type='hidden'>]

Wie kann ich den Wert ausgeben? Irgendein Attribut dafür? Vielen Dank.

2 Solutions collect form web for “Wertattribut für lxml.html”

Im Allgemeinen können Sie mit lxml direkt über das Attribut .value auf den Wert eines Elements .value :

 >>> from lxml.html import fromstring >>> s = """<input type="hidden" name="question" value="1234">""" >>> doc = fromstring(s) >>> doc.value '1234' 

In deinem Fall musst du auch von deiner XPath- Abfrage auf das erste Element der resultierenden Liste zugreifen:

 print fromstring(s).xpath('/html/body/div[3]/div/div[2]/div/form/input[4]')[0].value 

Dies kann direkt von XPath getan werden – keine Notwendigkeit, Ihre Umgebung Python zu ändern.

 print fromstring(s).xpath('/html/body/div[3]/div/div[2]/div/form/input[4]/text()') 
  • Wie ordnungsgemäß verwenden Regeln, beschränken_xpaths zu crawlen und analysieren URLs mit scrapy?
  • Wie bekomme ich den Pfad eines Elements in lxml?
  • Wie passe ich den Inhalt eines Elements in XPath (lxml) an?
  • Wie man mit dem Hinzufügen von Elementen und ihren Eltern mit xpath umgehen kann
  • Probleme beim Zugriff auf das xpath-Attribut mit scrapy
  • XPATH - Wie bekomme ich die inneren Textdaten mit den Tags?
  • Verschrottung Website, die Seite
  • Lxml findall SyntaxError: ungültiges Prädikat
  • Wie füge ich ein Attribut zu einem Tag hinzu, das mit xpath in lxml in Python gefunden wurde?
  • Finden Sie ein Element in einem XML-Baum mit ElementTree
  • Wie kann ich HTML mit html5lib analysieren und das geparste HTML mit XPath abfragen?
  • Python ist die beste Programmiersprache der Welt.