Seleniumで操作する~ドロップダウン/ラジオボタン/チェックボックス

※当サイトはアフィリエイト広告を利用しています

データ分析

Seleniumを使ったサイトのドロップダウンメニュー、ラジオボタン、チェックボックスの操作方法についてご紹介

準備

Seleniumの導入

Seleniumのライブラリインストール、Chromedriverのダウンロードを行ってください。
詳しくはこちらの記事ご参照ください

対象のページを開く

本ページにサンプルを用意しましたので「https://ds-note.net/coding/selenium_operation/」を指定してみましょう。

from selenium import webdriver

driver_path = 'C:/Users/XXXXX/chromedriver.exe' #Chromedriverの保存先を指定

#v3系の場合
driver = webdriver.Chrome(executable_path = driver_path)

#v4以降の場合
service = Service(executable_path = driver_path)
driver = webdriver.Chrome(service = service)

url = 'https://ds-note.net/coding/selenium_operation/' #対象のURLを指定
res = driver.get(url)

ドロップダウンメニューを選択する

ドロップダウンメニューサンプル

ドロップダウンメニューを探す

対象のドロップダウンメニューを探します。XPathの取得方法は下記の記事を参考にしてください。

今回は対象の要素を「id=”dropdown”」としてidで属性を設定していますので、XPathではなく、idを指定して要素を選択してみましょう。

<select name="dropdown_sample" id="dropdown">
  <option value="list1">リスト1</option>
  <option value="list2">リスト2</option>
  <option value="list3">リスト3</option>
  <option value="list4">リスト4</option>
</select>

値を選択する

ドロップダウンメニューはリスト1~リスト4まで存在します。上から3番目を選択する場合は「0,1,2」となり「.select_by_index(2)」で指定します。

from selenium.webdriver.support.select import Select

#selenium ver3系の場合
dropdown = driver.find_element_by_id('dropdown')

#selenium ver4系の場合
from selenium.webdriver.common.by import By
dropdown = driver.find_element(By.ID, "dropdown")

#ドロップダウンを選択する
select = Select(dropdown) #ドロップダウンメニューが選択された状態

#値を選択する
select.select_by_index(2)  # 3番目のoptionタグを選択状態に

ラジオボタン/チェックボックスを選択する

ラジオボタン/チェックボックスはドロップダウンメニューと異なり、selectを使わずに要素をクリックすることになります。

ラジオボタンを選択してクリック

サンプル

value1
value2
value3
<input type="radio" name="radio_sample" value="value1">value1
<input type="radio" name="radio_sample" value="value2">value2
<input type="radio" name="radio_sample" value="value3">value3

操作

ラジオボタンの2つ目(ページ内のinputの3つ目)を選択する

#ver3系の場合
driver.find_element_by_xpath("/html/body/div[1]/div[2]/div/main/article/div/input[2]").click()

#ver4系の場合
driver.find_element(By.XPATH, "/html/body/div[1]/div[2]/div/main/article/div/input[2]").click()

チェックボックスを選択する

サンプル

value1
value2
value3
<input type="checkbox" name="checkbox_sample" value="1">value1
<input type="checkbox" name="checkbox_sample" value="2">value2
<input type="checkbox" name="checkbox_sample" value="3">value3

操作

チェックボックスの2つ目(ページ内のinputの6つ目)

#ver3系の場合
driver.find_element_by_xpath("/html/body/div[1]/div[2]/div/main/article/div/input[5]").click()

#ver4系の場合
driver.find_element(By.XPATH, "/html/body/div[1]/div[2]/div/main/article/div/input[5]").click()

この記事を読んだ人がよく見ています

タイトルとURLをコピーしました