获得多个价值观

时间:2015-04-07 06:21:43

标签: python selenium

我试图获取内部的多个数值

<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 个答案:

答案 0 :(得分:1)

&#34; find_elements_by_class_name&#34;正在通过单个类名进行搜索。在你拥有其中两个的情况下,你应该使用css选择器或xpath。例如:

find_element_by_css_selector(".kpi.unit");