この記事はPython3.6.0とSelenium3.4.0(WebDriverはGoogleChrome)を使用しております。
ドロップダウンメニューの取得とセット方法で苦労しましたのでメモを残します。
WebElementからSelectタグが扱える様にする
select.html
<select name=”color”>
<option value=”red”>赤</option>
<option value=”blue”>青</option>
<option value=”green”>緑</option>
</select>
と言うドロップダウンメニューがあるとします。
Select.py
# Selectタグが扱えるエレメントに変化させる為の関数を呼び出す
from selenium.webdriver.support.ui import Select
# 普通にエレメントを取得する
color_element = browser.find_element_by_name('color')
# 取得したエレメントをSelectタグに対応したエレメントに変化させる
color_select_element = Select(color_element)
# 選択したいvalueを指定する
color_select_element.select_by_value('blue')
この様に記述すると「青」が選択された状態になります。
おわりに
最初はsend_keysで値をセットしようとして出来ず大いにハマリましたが、
キャスト(?)する必要があったとは思いもよりませんでした。
他にも特殊はタグはこうやってやる必要があるんでしょうね。
今のところ特に何かする予定は無いんですが自動化は楽しいですね。