如何从具有相同类名的特定数量的元素中获取信息?

时间:2016-08-08 13:28:17

标签: python selenium-webdriver

我在同一个屏幕上有很多桌子。我只需要从其中一个中获取tex 简单的例子:     表:电话

    <div id="condo_type" type-id="pass" class="panel panel-default sort_table">
      <div class="panel-heading">
        <h3 class="panel-title">CONDO</h3>
      </div>
      <ul class="list-group ui-sortable">
                <li class="list-group-item ui-sortable-handle" id="pass">
      <div class="row">
        <div class="col-md-8 col-xs-8 increase_padding">Limited</div>
        <div class="col-md-2 col-xs-2 text-center">
          <a data-remote="true" href="pass">Edit</a>
        </div>
        <div class="col-md-2 col-xs-2 text-center">
          <a data-remote="true" rel="nofollow" data-method="delete" href="pass">Delete</a>
        </div>
      </div>
    </li>
            <li class="list-group-item ui-sortable-handle" id="pass">
      <div class="row">
        <div class="col-md-8 col-xs-8 increase_padding">Free</div>
        <div class="col-md-2 col-xs-2 text-center">
          <a data-remote="true" href="pass">Edit</a>
        </div>
        <div class="col-md-2 col-xs-2 text-center">
          <a data-remote="true" rel="nofollow" data-method="delete" href="pass">Delete</a>
        </div>
      </div>
    </li>
      </ul>
</form>
  </div>
</div>

表:公寓

col-md-8 col-xs-8 increase_padding

我需要提取table_content = driver.find_elements_by_css_selector('.col-md-8.col-xs-8.increase_padding')

的文字

但问题是当我使用时:

table_content

它还从我目前不需要的表中获取信息。 但我需要从1个特定的表中获取文本。 这些表格是动态的,所以我无法从

中获取特定金额
{{1}}

并将其附加到另一个列表中。 它是一种解决特定表并使用其外部HTML的方法吗?

1 个答案:

答案 0 :(得分:3)

只需进行特定于上下文的搜索即可。例如。如果您需要“电话类型”表中的此元素:

phone_type = driver.find_element_by_id("phone_type")
print(phone_type.find_element_by_css_selector('.col-md-8.col-xs-8.increase_padding').text)

或者,一气呵成:

print(driver.find_element_by_css_selector('#phone_type .col-md-8.col-xs-8.increase_padding').text)