Django Girls and Boys 備忘録

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

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


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

 

 

 

 

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

 

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

 

select.options()

 

を使用します。

 

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

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

 

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

###################################################################### path_driver = os.getcwd()+'\chromedriver.exe' # ドライバー指定でChromeブラウザを開く chrome_service = fs.Service(executable_path=path_driver) driver = webdriver.Chrome(service=chrome_service) ######################################################################
#指定したURLに画面展開(指定したURL:************) driver.get('************')

#要素をid番号から取得(idがabcdefのセレクトタグ)
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)

 

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