Pythonのseleniumメソッド presence_of_element_located

PythonのSeleniumライブラリにおけるpresence_of_element_locatedメソッドは、指定した要素がDOM内に存在するかどうかを確認するために使用されます。このメソッドは、要素が存在するまで待機し、存在しない場合はタイムアウトします。これにより、要素が動的に読み込まれるウェブページで要素の存在を確認するのに便利です。

presence_of_element_locatedメソッドは、WebDriverWaitとExpectedConditionsと組み合わせて使用され、指定した要素が表示されるまで待機します。

以下は、presence_of_element_locatedメソッドの使用例です。

python
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# WebDriverのインスタンスを作成(例: Chromeを使用する場合)
driver = webdriver.Chrome(executable_path='chromedriver.exe')  # ChromeDriverのパスを指定

# ウェブページにアクセス
driver.get('https://example.com')

# WebDriverWaitを使用して要素の存在を待機
try:
    element = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.ID, 'search_box'))
    )
    # 要素が見つかったら操作を行う
    element.send_keys('検索キーワード')
except Exception as e:
    print("要素が見つかりませんでした。エラーメッセージ:", e)
finally:
    # ブラウザを閉じる
    driver.quit()

このコードでは、WebDriverWaitとExpectedConditionsを使用して、id属性が’search_box’の要素がDOM内に存在するかどうかを確認します。存在しない場合、最大で10秒間待機し、それでも要素が見つからない場合はエラーメッセージが表示されます。

presence_of_element_locatedメソッドを使用することで、要素の存在を確認してから操作を行うことができ、ウェブページ上での要素の動的な読み込みに対処できます。