コード一覧

【Python】リストやプルダウンから選択する方法 Selenium

Seleniumでリストやプルダウンを選択する

スクレイピングしたいとき、seleniumで操作をしてから要素を取得したいときがあります。その時、検索条件の設定などでリストやプルダウンを選択するとき、どうやって選択したらいいのかをまとめます。

ちなみに、リストというのは、以下のような選択するタイプの要素です。

インポートする

まずは、要素を選択するためのモジュールをインポートします。

from selenium.webdriver.support.ui import Select

要素を見つける

まずは、selectのタグを見つける。
<select name=”◎◎◎”>みたいなタグを見つける。
find_element_by_name(‘タグ名’)

years = driver.find_element_by_name("year")

要素を選択する

見つけた要素を扱えるようにSelectを行う。

years_select = Select(years)

最後に、入力したい値を入力する。

years_select.select_by_value("2019")
# selectの年度を指定する。
years = driver.find_element_by_name("year")
years_select = Select(years)
years_select.select_by_value("2020")

コードの具体例

インポートはこんなにしなくてもいいが、よく使うのでインポートしたまま。
Chromeを操作する設定をして、開くURLを指定して、selectの選択を行う。

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
import datetime


# 1.操作するブラウザ
driver = webdriver.Chrome('C:/Users/oono/Downloads/chromedriver_win32/chromedriver')

# 2.操作するページを開く
driver.get('URL')

# 年度を指定
years = driver.find_element_by_name("year")
years_select = Select(years)
years_select.select_by_value("2020")

years_select.select_by_value(“ここに選択したい情報を記載する”)