首页 > 解决方案 > python xpath 返回空列表而不是值或文本

问题描述

以下是我的程序,它返回一个空列表,它应该返回值“Mar 17”,请让我知道我在这里做错了什么。

import requests
from lxml import html

newline="http://www.moneycontrol.com/financials/20microns/balance-sheetVI/2M"
try:
    page = requests.get(newline, timeout=5)
except requests.Timeout:                                         
    pass
except requests.ConnectionError:
    pass
except requests.ReadTimeout:
    pass
tree = html.fromstring(page.content)
yrs = tree.xpath('//*[@id="mc_mainWrapper"]/div[3]/div[2]/div[3]/div[2]/div[2]/div[2]/div[1]/table[2]/tbody/tr[1]/td[2]')                           
print(yrs)

标签: pythonxpathtreelxml

解决方案


您不应该tbody在 XPath 中使用标签,因为它实际上并不存在于页面源代码中,而是在页面呈现时由浏览器添加。跳过它:

.../table[2]/tbody/tr[1]...->.../table[2]//tr[1]...


推荐阅读