2015-04-07 35 views
1

我試圖讓多個數值是內部獲取多個值

<li> <div class ="kpi unit"> 

我已經試過這樣:

def get_all_data(self): 
    data = [] 
    for row in self.driver.find_elements_by_class_name("content"): 
     cells = [] 
     for cell in row.find_elements_by_class_name('kpi unit'): 
      cells.append(cell.text) 
     data.append(cells) 

我得到錯誤的類名不能使用,嘗試了所有其他的東西,無法獲得的價值.. 有什麼建議嗎?

請在下面找到我的html代碼:

<div class="row"> 
    <div class="large-6 columns"> 
    <div class="large-6 columns"> 
    <div class="section-container tabs" data-section="tabs"> 
     <section class="section active" style="padding-top: 38px;"> 
     <p class="title" style="left: 0px;"> 
     <a id="summary" href="#summarystats">Summary</a> 
     </p> 
     <div class="content" data-slug="summarystats"> 
      <div class="row data-card summary-card"> 
      <ul class="small-block-grid-4"> 
       <li> 
        <div class="kpi stat">Impressions</div> 
        <div class="kpi unit" data-bind="text: kpis.impressions.slice">0</div> 
       </li> 
       <li> 
        <div class="kpi stat">Clicks</div> 
        <div class="kpi unit" data-bind="text: kpis.clicks.slice">0</div> 
       </li> 
       <li> 
        <div class="kpi stat">Spent</div> 
        <div class="kpi unit" data-bind="text: kpis.spent.slice">$0</div> 
       </li> 

回答

1

「find_elements_by_class_name」 是由一個單一的類名稱搜索。在你的情況下,當你有兩個,你應該使用CSS選擇器或xpath。例如:

find_element_by_css_selector(".kpi.unit"); 
+0

尼斯,它曾與CSS選擇器,使用find_elements_by_css_selector ......,我的做法是巨大的,我嵌套在其他類名來獲取列表,而不是一個單一的(「kpi.unit。」)直接的方法,謝謝 –