2015-04-07 93 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。”)直接的方法,谢谢 –