簡體   English   中英

python-第二次出現的xPath語法

[英]python - xPath syntax for second occurence

<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()僅返回源代碼中的第一個匹配項

使用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

但是,更好(更清潔)的方法是按名稱屬性查找輸入:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM