无法从 xpath python 获取值
Can't get value from xpath python
我想从页面获取值:http://www.tabele-kalorii.pl/kalorie,Actimel-cytryna-miod-Danone.html
我可以从第一部分获取所有值,但无法从 table "Wartości odż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>
有人可以帮忙吗?
table中的值是借助在浏览器中执行的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']
我想从页面获取值:http://www.tabele-kalorii.pl/kalorie,Actimel-cytryna-miod-Danone.html 我可以从第一部分获取所有值,但无法从 table "Wartości odż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>
有人可以帮忙吗?
table中的值是借助在浏览器中执行的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']