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

しかし、値 price の 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. <div>また、属性@itempropと値を持つ要素が見つかりませんprice

したがって、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 に答える