Django Girls and Boys 備忘録

Python、Selenium、Django、java、iPhoneアプリ、Excelマクロなどで気付いたこと、覚えておきたいことなどを載せていきます。

【Python Selenium】セレクトタグ(Select要素)のすべてのoptionを取得する方法(SeleniumVer4.6以降)


Seleniumを使用してセレクトタグ(要素)にアクセスする場合には操作したり状態取得できることがいろいろとありますが、セレクトタグの選択する要素であるすべてのoptionを取得したいということもあるのではないかと思います。

 

 

 

 

1.セレクトタグのoption取得方法

 

セレクトタグのすべてのoptionを取得する場合には、

 

select.options()

 

を使用します。

 

以下に、Chromeにて、とあるセレクトタグのすべてのoptionを取得して各optionのテキストを印字するコード例を載せておきます。

(以下の例の中の「os.getcwd()」はカレントディレクトリを指しますのでChrome用のドライバーchromedriver.exeは同じフォルダ(カレントディレクトリ)に入れた状態で実行します)

 

selenium ver.4.6以降の場合)

from selenium import webdriver
from selenium.webdriver.common.by import By

######################################################################
driver = webdriver.Chrome() ######################################################################
#指定したURLに画面展開(指定したURL:************) driver.get('************')

#要素をid番号から取得(idがabsdefのセレクトタグ)
element = driver.find_element(By.ID, "abcdef");
#Selectクラスのインスタンスを生成
select = Select(element)
#セレクトタグ内のオプションを全て取得
selOptions = select.options
#セレクトタグ内の各オプションのテキストをprint印字
for i in range(len(selOptions)):
  print(selOptions[i].text)

 

 

また、ドライバーの設定方法の違いだけになりますがSelenium ver.4.6以前の場合の例は、以下に載せています。

kuku81kuku81.hatenablog.com

 

 

以上が、セレクトタグ(Select要素)のすべてのoptionを取得する方法になります。