2017-06-02 14 views
0

私はPython Seleniumを使用して、Webサイトの入力ボックスにカスタム値を入力しようとしています。Python Seleniumを使用してテーブル内の要素を選択する方法を教えてください。

htmlは、この要素がテーブル内に格納されていることを示しています。 htmlとmyコードは以下の通りです。私はクラス 'filterLink'とクラス '値'を持つ要素のキーを送信しようとしました。テーブルのデータ要素にキーを送ることは可能ですか? また、このフィールドにキーを送信するためにhtmlの他の場所を探しているべきですか?

私は取得していますエラーは、「メッセージ:不明なエラー:要素を集中することはできません」である

どうもありがとうございました!!

<div class="ContentSourceTypeData show" group="Provider Type"> 
    <ul> 
     <li> 
     <table class="listItem"> 
      <tbody> 
      <tr> 
       <td class="label"> 
        <a class="filterLink" href="javascript:void(0);" value="bank" name="Banks" address="true"> 
         <span class="value">Banks</span>&nbsp;(1831) 
        </a> 
       </td> 
       </tr> 
      ..... 

My code... 

index_details_elem = browser.find_element_by_class_name('ContentSourceTypeData') 

nameTable = index_details_elem.find_elements_by_class_name("listItem")[0] # 
Select first listItem as element 
nameDataElem = nameTable.find_element_by_class_name("label") 

#nameInputElem = nameDataElem.find_elements_by_class_name("value") #used the above line instead of this one as the 'span' element seemed to be causing an issue 
#print nameElem.location() 
#nameDataElem.click() # removed as I can't click in a table 

nameDataElem.send_keys("lookup value") 
+0

DOMに「入力」タグはありません。どのように送信キーを送信できますか? –

+0

自動化しようとしているウェブサイトのような詳細情報を提供できますか? HTMLコード –

+0

に入力タグが表示されないため、申し訳ありません。私はウェブサイトを追加しませんでした。それは私がそれを共有することはできませんので、データのライセンスとユーザー名/パスワードの支払いが必要なものです。 「DOM」とは何ですか? sendkeysを使用できる他のウェブ要素に入力フラグが表示されていません –

答えて

0

セレンのweb要素にsend_keysを送信できると期待します。私はおそらくCSSセレクタを使用します(多分、ページ上に "label"という名前の別の要素があります)。やってみてください。それに「ルックアップ値を」キーを送信し、「filterLink」のクラス値で、すべての「」の要素を選択し、う

webelement = "a[class=\"filterLink\"]" 
webelement.send_keys("lookup value") 

+0

ありがとうございました。すべての 'filterlink'クラスは同じ構造であり、入力セクションはありません。これはフリータイプのボックスではなく、ウェブサイトのドロップダウンである可能性があります –

+0

そうかもしれません。あなたはsend_keysをいつドロップダウンに表示しますか? – Brydenr

関連する問題