第二次出现的python xPath语法

2024-10-01 17:40:29 发布

您现在位置:Python中文网/ 问答频道 /正文

<input name="utf8" type="hidden" value="&#x2713;" />
<input name="ohboy" type="hidden"  value="I_WANT_THIS" />
<label for="user_email">Email</label>
<input class="form-control" id="user_email" name="user[email]" size="30" type="email" value=""      />

我被困在这里了,我本来打算用find()而不是xpath(),因为标记输入在源代码的几个地方,但是我发现find()只返回源代码中的第一个出现


Tags: nameinput源代码valueemailtypeutf8find
1条回答
网友
1楼 · 发布于 2024-10-01 17:40:29

使用find(),传递指定元素整数索引的xpath表达式:

from lxml.html import fromstring


html_data = """<input name="utf8" type="hidden" value="&#x2713;" />
<input name="ohboy" type="hidden"  value="I_WANT_THIS" />
<label for="user_email">Email</label>
<input class="form-control" id="user_email" name="user[email]" size="30" type="email" value=""      />"""

tree = fromstring(html_data)
print tree.find('.//input[2]').attrib['value']

印刷品:

I_WANT_THIS

但是,更好(更干净)的方法是查找input by name属性:

print tree.find('.//input[@name="ohboy"]').attrib['value']

相关问题 更多 >

    热门问题