简体   繁体   English

lxml.html的value属性

[英]value attribute for lxml.html

Here is my code: 这是我的代码:

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

Ouput is [<InputElement 2946d20 name='question' type='hidden'>] 输出是[<InputElement 2946d20 name='question' type='hidden'>]

How can I output the value? 我该如何输出值? Any attribute for this? 这个的任何属性? Thank you. 谢谢。

In general with lxml you can access an element's value directly via the .value attribute: 通常使用lxml,您可以直接通过.value属性访问元素的值:

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

In your case you'll also need to access the first element of the resulting list from your XPath query: 在您的情况下,您还需要从XPath查询中访问结果列表的第一个元素:

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

这可以直接从XPath完成 - 无需更改周围的Python。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM