2016-06-15 1 views
0

ListBox(ないドロップdownlist)にのみつの項目を選択し、以下:パイソンセレンとしてリストボックス

<select name="lstym" onChange="SubmitForm(this.form,'ym')" multiple size="5"> 
    <option value="All" selected>All</option> 
    <option value="201601">201601</option> 
    <option value="201602">201602</option> 
    <option value="201603">201603</option> 
    <option value="201604">201604</option> 
    <option value="201605">201605</option> 
</select> 

Scrapyコード:

select = Select(driver.find_element_by_name('lstym')) 
for option in select.options: 
    #select.deselect_all() 
    #select.deselect_by_index(0) 
    option.click() 

defaultly選択された最初の項目は常にあまりにも選択されています。しかし、1つのアイテムを1回だけ選択したい。 select.deselect_all()およびselect.deselect_by_index(0)は機能しません。 (良くない)

ソリューションは、私が見つかりました:

browser.find_element_by_xpath('//select[@name="lstym"]').click() 
    browser.find_element_by_xpath('//option[@value="201601"]').click() 

少なくともデフォルトの選択項目Allを除去しました。しかし、3番目の項目は常に選択されています。これは私にとっては問題ありません。

+0

この現象は、手動で選択した場合にも発生しますか? –

+0

いいえ、それはそのような治療コードです。手動で選択しても問題ありません。 – Claiel

+0

もう一度チェックするだけで、他のオプションを選択するとALLが選択されたままになりますか? –

答えて

0

デフォルトでは、リストボックス内の1つの要素を選択すると、他の要素は選択解除されます。したがって、必要な要素をクリックするだけで、他のすべてのオプションは選択解除されます。

+0

そのようなはずです。しかしセレンはそんなにうまくいかないようです。 – Claiel

関連する問題