Windows 10 Pro x64 + Python3 で selenium + chromedriver で要素を操作してみる（その１）

#目的
[日本Seleniumユーザーコミュニティ](http://www.selenium.jp/test-site)が公開しているテストサイトの要素を操作してみる
※TODO:これ以外の要素
##サンプルコード
textbox:値の確認と、テキスト入力後の値を確認する
radio button:値の確認と、他方をクリックした後の値を確認する
checkbox:値の確認と、両方をクリックした後の値を確認する
※注意事項：radio button、checkboxの値の取得

```python

import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome('C:\\Dev\\tool\\webdriver\\chromedriver.exe')  
driver.get('http://example.selenium.jp/reserveApp/')
try:
    # 0.5秒間隔で検索の終了をチェックする(最大１０秒)
    element = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.ID, 'goto_next'))
    )

    # 内容の確認
    elm = driver.find_element_by_name('reserve_y')
    print('reserve_y:' + elm.get_attribute('value'))
    elm = driver.find_element_by_name('reserve_m')
    print('reserve_m:' + elm.get_attribute('value'))
    elm = driver.find_element_by_name('reserve_d')
    print('reserve_d:' + elm.get_attribute('value'))
    elm = driver.find_element_by_name('reserve_t')
    print('reserve_t:' + elm.get_attribute('value'))
    elm = driver.find_element_by_name('gname')
    print('gname:' + elm.get_attribute('value'))

    print('input')
    # textbox に入力する clear() -> send_keys()
    elm = driver.find_element_by_name('reserve_y')
    elm.clear()
    elm.send_keys('2020')
    print('reserve_y:' + elm.get_attribute('value'))
    elm = driver.find_element_by_name('reserve_m')
    elm.clear()
    elm.send_keys('3')
    print('reserve_m:' + elm.get_attribute('value'))
    elm = driver.find_element_by_name('reserve_d')
    elm.clear()
    elm.send_keys('14')
    print('reserve_d:' + elm.get_attribute('value'))
    elm = driver.find_element_by_name('reserve_t')
    elm.clear()
    elm.send_keys('2')
    print('reserve_t:' + elm.get_attribute('value'))
    elm = driver.find_element_by_name('gname')
    elm.clear()
    elm.send_keys('tabizou')
    print('gname:' + elm.get_attribute('value'))

    # 内容の確認
    elm = driver.find_element_by_id('breakfast_on')
    print('breakfast_on :' + ('on' if elm.get_attribute('checked') else 'off'))
    elm = driver.find_element_by_id('breakfast_off')
    print('breakfast_off:' + ('on' if elm.get_attribute('checked') else 'off'))

    # breakfast_off をクリック
    driver.find_element_by_id('breakfast_off').click()
    print('clicked')
    elm = driver.find_element_by_id('breakfast_on')
    print('breakfast_on :' + ('on' if elm.get_attribute('checked') else 'off'))
    elm = driver.find_element_by_id('breakfast_off')
    print('breakfast_off:' + ('on' if elm.get_attribute('checked') else 'off'))

    # 内容の確認
    elm = driver.find_element_by_name('plan_a')
    print('plan_a:' + ('on' if elm.is_selected() else 'off'))
    elm = driver.find_element_by_name('plan_b')
    print('plan_b:' + ('on' if elm.is_selected() else 'off'))

    # checkbox をクリックする
    driver.find_element_by_name('plan_a').click()
    driver.find_element_by_name('plan_b').click()

    print('clicked')
    elm = driver.find_element_by_name('plan_a')
    print('plan_a:' + ('on' if elm.is_selected() else 'off'))
    elm = driver.find_element_by_name('plan_b')
    print('plan_b:' + ('on' if elm.is_selected() else 'off'))

    time.sleep(5) # 表示確認用のwait
finally:
    driver.quit()

```
##参考にしたのは以下のサイト
[How to check if the radio button is selected or not in Selenium WebDriver?](https://stackoverflow.com/questions/23800792/how-to-check-if-the-radio-button-is-selected-or-not-in-selenium-webdriver)
[How to verify if a checkbox is checked using Selenium Webdriver](http://letztest.blogspot.com/2016/04/how-to-verify-if-checkbox-is-checked.html)