Python で Selenium を使用してドロップダウン メニューからオプションを選択する

Manav Narula 2023年6月21日
  1. Python で Selenium を使用してドロップダウン メニューからオプションを選択する
  2. select_by_index() 関数を使用してドロップダウン メニューからオプションを選択する Python で Selenium を使用する
  3. select_by_value() 関数を使用して、Python で Selenium を使用してドロップダウン メニューからオプションを選択する
  4. select_by_visible_text() 関数を使用して、Python で Selenium を使用してドロップダウン メニューからオプションを選択する
  5. まとめ
Python で Selenium を使用してドロップダウン メニューからオプションを選択する

selenium パッケージは、Python で使用され、Web ブラウザーで Python スクリプトを使用してタスクを自動化します。 これは、Web ページのボタンをクリックするという単純なものから、特定の Web ページのフォームに記入するという複雑なものまであります。

このチュートリアルでは、Python でセレンを使用して Web ページのドロップダウン メニューから選択する方法について説明します。

Python で Selenium を使用してドロップダウン メニューからオプションを選択する

まず、webdriver クラスのオブジェクトを開始してブラウザ ウィンドウを作成する必要があります。 このオブジェクトで get() 関数を使用して、必要な Web サイトにリダイレクトします。

次に、ドロップダウン メニューの HTML 要素を見つける必要があります。 さまざまな方法を使用して、さまざまな属性に基づいてこの要素を見つけることができます。

find_element_by_id() 関数を使用して、id 属性を使用して要素を検索したり、find_element_by_class_name() 関数を使用して class 属性を使用して要素を検索したりできます。

要素を見つけたら、selenium.webdriver.support.ui にある Select クラスを使用する必要があります。 Select() コンストラクターとドロップダウン リストの取得した要素を使用して、このクラスのオブジェクトを作成する必要があります。

このオブジェクトは、さまざまな関数を使用してドロップダウン メニューからオプションを選択します。

これらの方法については、以下で説明します。 一致するオプションがない場合、これらのメソッドは NoSuchElementException をスローすることに注意してください。

select_by_index() 関数を使用してドロップダウン メニューからオプションを選択する Python で Selenium を使用する

select_by_index() 関数は、index 属性に基づいてメニューから指定されたオプションを選択します。 オプションは数えませんが、index 属性を使用することに注意してください。

例えば、

from selenium.webdriver.support.ui import Select
from selenium import webdriver

driver = webdriver.Chrome(r"C:/path/chromedriver.exe")
driver.get("https://www.delftstack.com/")
e = driver.find_element_by_id("Menu_Button")
d = Select(x)
drop.select_by_index(1)

上記の例では、webdriver クラス オブジェクトを作成し、get() 関数でウィンドウを Web サイトにリダイレクトします。 find_element_by_id() 関数を使用して、ドロップダウン メニューの要素を取得します。

取得した要素を使用して Select クラス オブジェクトが作成されます。 このオブジェクトで select_by_index() 関数を使用して、必要なオプションを選択します。

select_by_value() 関数を使用して、Python で Selenium を使用してドロップダウン メニューからオプションを選択する

このメソッドは、value 属性の値に一致するオプションを選択することもできます。 この引数に一致するオプションが選択されます。

以下のコードを参照してください。

from selenium.webdriver.support.ui import Select
from selenium import webdriver

driver = webdriver.Chrome(r"C:/path/chromedriver.exe")
driver.get("https://www.delftstack.com/")
e = driver.find_element_by_id("Menu_Button")
d = Select(x)
drop.select_by_value("value")

上記の例では、指定された value 属性に一致するオプションが選択されます。

select_by_visible_text() 関数を使用して、Python で Selenium を使用してドロップダウン メニューからオプションを選択する

select_by_visible_text() 関数を使用して、ドロップダウン メニューからオプションを選択できます。 テキストに基づいてオプションを選択します。

例えば、

from selenium.webdriver.support.ui import Select
from selenium import webdriver

driver = webdriver.Chrome(r"C:/path/chromedriver.exe")
driver.get("https://www.delftstack.com/")
e = driver.find_element_by_id("Menu_Button")
d = Select(x)
drop.select_by_visible_text("text")

上記の例では、オプションの指定されたテキストに一致するオプションを選択します。

まとめ

このチュートリアルでは、Python でセレンを使用してドロップダウン メニューからオプションを選択する方法について説明しました。 Select クラスの使用とそのさまざまな機能について説明しました。

さまざまな方法で、さまざまな属性に基づいてオプションを選択できます。 このクラスのオブジェクトで all_selected_options() メソッドを使用して、選択したオプションのリストを返すこともできます。

著者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

関連記事 - Python Selenium