python seleniumにおけるxpathの使い方

pythonで、seleniumモジュールを使ってWebスクレイピングを行う際、seleniumのWebDriveメソッドを使って、ページの要素(element)を見つけることが必要になる場合があります。

ページの要素を見つける方法にはいくつかありますが、その中でxpathを指定する方法が便利なので紹介します。

find_element_by_xpathの使い方

WebDriveメソッドは、基本的に「find_element_by_(要素を見つけるキー)」という形で構成されています。

例えば、find_element_by_id とすると、要素のid属性を検索するわけです。

今回紹介する find_element_by_xpathでは、XMLやHTML文書の要素を指定するための構文であるXPathを使います。

なぜこのXPathが便利なのか、というと、要素の指定が簡単になるからなのです。

なんと、コピー&ペーストだけで済むので、わざわざ複雑なHTMLを解析する必要がありません。

XPathを使って要素を探す方法

要素のXPathを探す方法は簡単です。

Chromeであれば、望む要素を右クリックし、メニューから「検証」を選択します。

そして、出現するデベロッパー(開発者)ツールの画面上で、Elementタブでハイライトされている場所で右クリックをし、Copy ⇒ Copy XPath を選択するだけです。

これで、要素のXPathがクリップボードに保存されます。

あとは、取得したXPathをコードに流し込むだけです。

例えば、以下の通りです。

browser.find_element_by_xpath('取得したXPathをコピー')

とても簡単ですね。