9

我正在尝试从 URL https://play.google.com/store/apps/details?id=com.teslacoilsw.launcher&hl=en获取数据并获取以下数据

   <meta content="3.99" itemprop="price"> 

我使用以下在 Python 中实现的代码来获取,但它失败了。

    browser = webdriver.Firefox() # Get local session of firefox
    browser.get(sampleURL) # Load page
    assert "Google Play" in browser.title
    priceValue = browser.find_element_by_xpath("//div[@itemprop='price']")#
    print priceValue.text

但它说它找不到价值价格的xpath。知道为什么吗?

编辑

priceValue = browser.find_element_by_xpath("//meta[@itemprop='price']")
print priceValue.text

我得到空字符串

4

2 回答 2

12

如果我查看页面源代码,例如在 Chrome 中view-source:https://play.google.com/store/apps/details?id=com.teslacoilsw.launcher&hl=en。我也没有找到具有 attribute和 value的<div>元素。@itempropprice

所以你的 XPath 是完全错误的。还browser.find_element_by_xpath()返回一个元素,并且要提取 的属性值@content。然后你应该使用下一个:

priceValue = browser.find_element_by_xpath("//meta[@itemprop='price']")
print priceValue.get_attribute("content")
于 2013-09-27T18:58:01.280 回答
0

我认为这个解决方案效果很好。

priceValue = browser.find_element_by_xpath("//div[@itemprop='price']")
print(priceValue.text)
于 2021-02-26T21:28:01.967 回答