lxml.html的value属性
这是我的代码:
from lxml.html import fromstring
#code
print fromstring(s).xpath('/html/body/div[3]/div/div[2]/div/form/input[4]')
输出是 [<InputElement 2946d20 name='question' type='hidden'>]
我该如何输出这个值呢?有没有什么属性可以用?谢谢。
2 个回答
1
这可以直接通过XPath来完成——你不需要修改你周围的Python代码。
print fromstring(s).xpath('/html/body/div[3]/div/div[2]/div/form/input[4]/text()')
6
一般来说,使用 lxml 这个库时,你可以直接通过 .value
属性来获取一个元素的值:
>>> from lxml.html import fromstring
>>> s = """<input type="hidden" name="question" value="1234">"""
>>> doc = fromstring(s)
>>> doc.value
'1234'
在你的情况下,你还需要从你执行的 XPath 查询结果中获取第一个元素:
print fromstring(s).xpath('/html/body/div[3]/div/div[2]/div/form/input[4]')[0].value