2016-08-08 5 views
0

私は同じ画面上に多くのテーブルを持っています。そして、私は一つだけ、それの 簡単な例からテックスを取る必要があります。 表:電話同じクラス名の特定の量の要素から情報を取り込む方法は?

div id="phone_type" type-id="pass" class="panel panel-default sort_table"> 
     <div class="panel-heading"> 
     <h3 class="panel-title">PHONE</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">Home</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">Work</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> 

表:マンション

<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') 

それはまた、私が現在必要としていないテーブルから情報を取ります。 しかし、私は1つの特定のテーブルからのみテキストを取る必要があります。 これらのテーブルは動的であるので、私は

table_content 

から特定の量を取り、別のリストにそれを追加することはできません。 特定のテーブルに対処し、その外側のHTMLで作業する方法ですか?

答えて

4

コンテキスト固有の検索を作成してください。例えば。あなたは「電話タイプ」テーブルからこの要素が必要な場合:

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) 
+0

私はすでに、正規表現を使用して、それを解決しますが、あなたのソリューションは、より良いです。ドライバーがjqueryタイプのコマンドを理解しているかどうかはわかりませんでした。どうもありがとう! –

関連する問題