XPathとは
XPathは、XML Path Languageの略で、XMLやHTML形式の文書から特定の部分を指定するときに使う構文です。PCのファイルパスのようなイメージです。
XPathの使用場面
XPathは、要素の取得にfind_elementメソッドを使いますが、引数にはBy.id、By.name、By.tagName等様々な指定方法があります。XPathは以下のような場合に使うと便利です。
- idやclassなどでうまく要素を取得できないとき
- そもそもidやclassなどがない場合
- idやclassなどで要素を一意に特定できない場合
XPathの取得方法
XPathの取得方法は以下の通りです。
- 対象となるWebページで右クリック>検証を押します。
- 取得したい要素にカーソルが当たっている状態で、右クリック>Copy>Copy XPathを選択します。
PythonとSeleniumでのXPathの使用例
以下にPythonとSeleniumを使用したXPathの使用例を示します。
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get('https://www.example.com')
# XPathで要素を取得
element = driver.find_element(By.XPATH, '//*[@id="example"]')
# 要素をクリック
element.click()
driver.close()
このコードは、指定したURLのページを開き、XPathで要素を取得し、その要素をクリックするという操作を行います。
まとめ
XPathは、HTMLやXMLの要素を柔軟に取得するための強力なツールです。PythonとSeleniumを組み合わせることで、自動化テストやWebスクレイピングなど、様々な場面で活用することができます。