繁体   English   中英

无法从xpath python获取价值

[英]Can't get value from xpath python

我想从以下页面获取值: http : //www.tabele-kalorii.pl/kalorie,Actimel-cytryna-miod-Danone.html我可以从第一节中获取所有值,但无法从表“ Wartościodżywcze”

我使用这个xpath:

''.join(tree2.xpath("//html/body/div[1]/div[3]/article/div[2]/div/div[4]/div[3]/div/div[1]/div[3]/table[1]/tr[3]/td[2]/span/text()"))

但是我什么都没得到。

使用这样的xpath:

''.join(tree2.xpath("//html/body/div[1]/div[3]/article/div[2]/div/div[4]/div[3]/div/div[1]/div[3]/table[1]/tr[3]/td[2]//text()"))

我得到单词“ kcal”,但无法获得值“ 75,00”

HTML片段:

<td style="font-weight:bold;"><span id="kcl715">75,00</span> kcal</td>

有人可以帮忙吗?

该表中的值是借助于在浏览器中执行javascript生成

解决这个问题的一种方法是通过selenium自动化浏览器,例如无头PhantomJS

>>> from selenium import webdriver
>>>
>>> driver = webdriver.PhantomJS()
>>> driver.get("http://www.tabele-kalorii.pl/kalorie,Actimel-cytryna-miod-Danone.html")
>>>
>>> table = driver.find_element_by_xpath(u"//table[tbody/tr/td/h3 = 'Wartości odżywcze']")
>>> for row in table.find_elements_by_css_selector("tr.tr-gorna-kreska"):
...     cells = [td.text for td in row.find_elements_by_tag_name("td")]
...     print cells
... 
[u'Warto\u015b\u0107 energetyczna', u'75,00 kcal', u'75,00 kcal']
[u'Bia\u0142ko', u'2,70 g', u'2,70 g']
[u'W\u0119glowodany', u'11,80 g', u'11,80 g']
[u'T\u0142uszcz', u'1,50 g', u'1,50 g']

暂无
暂无

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

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