2017-02-24 34 views
0

我使用的分裂與Python 2.7,並從這個代碼,我想獲得FIRST_VALUE = 1160,SECOND_VALUE = 829,和THIRD_VALUE = 0列出與分裂在Python 2.7

<ul id='resources'> 
     <li id="metal_box" class="metal tooltipHTML" title=""> 
      <div class="resourceIcon metal"></div> 
      <span class="value"> 
       <span id="resources_metal" class="">1.162</span> 
      </span> 
     </li> 
     <li id="crystal_box" class="crystal tooltipHTML" title=""> 
      <div class="resourceIcon crystal"></div> 
      <span class="value"> 
       <span id="resources_crystal" class="">831</span> 
      </span> 
     </li> 
     <li id="energy_box" class="energy tooltipHTML" title=""> 
      <div class="resourceIcon energy"></div> 
      <span class="value"> 
       <span id="resources_energy" class="">0</span> 
       </span> 
     </li> 
    </ul> 

我曾嘗試不同的東西,如second_value = browser.find_by_id('resources').find_by_id('crystal_box').first.value,但我無法找到如何使其工作。

感謝

回答

0

代碼

browser.find_by_id('resources').find_by_id('crystal_box') 

會返回一個沒有任何價值li元素。如果你想挖掘價值,你必須找到最後的span元素。

element = browser.find_by_id('resources').find_by_id('crystal_box') 
value = element.find_by_tag('span').last.value 
+0

當我嘗試這段代碼它說:AttributeError:'ElementList'對象沒有'find_by_id'屬性。 – Oscar

+0

@Oscar它適用於我('Python 2.7.12','Splinter 0.7.5')。你當然可以試試這個鏈接:'element = browser.find_by_id('resources')。first.find_by_id('crystal_box')。first' –