RPA・自動化:XPathとは(VBA×Selenium)
ここではRPAやSeleniumでWebスクレイピングする際に使う「XPath」について説明していきます。
◆XPathとは
XPathは、簡単に言うとWebサイトの検索ボックスなど、ブラウザ上の操作したい要素がどこにあるかを、重複しない値で示してくれるものになります。
RPAやSeleniumでは、この値をもとに、要素の位置を特定し、処理を行います。
このXPathを使うことで、ChromeやEdge、Firefoxなどのブラウザを操作することが可能になります。
◆XPathの例
以下のコードの「FindElementByXPath」の次の、「//*[@id=”search-3″]/form/label/input」部分がGoogleから取得した「XPath」です。
※サンプルコードで「”(ダブルクォーテーション)」を二重に変更している箇所は、二重にしないとプログラムではエラーになるためです。
1 2 |
'//検索枠に「Selenium」を入力します。' .FindElementByXPath("//*[@id=""search-3""]/form/label/input").SendKeys ("Selenium") |
◆XPath利用の注意点
デベロッパーツールで「XPath」をコピペをしただけではエラーになります。
以下の「XPath」でダブルクォーテーションとなっている箇所に、さらにダブルクォーテーションをつけて二重にする必要があります。
1 2 3 |
'もともとの「XPath」のダブルクォーテーション箇所にダブルクォーテーションをさらにつけて二重にします。' '[@id="search-3"]⇒[@id=""search-3""]' .FindElementByXPath("//*[@id=""search-3""]/form/label/input").SendKeys ("Selenium") |
XPathの取得方法
XPathの取得方法については以下の記事に書いています。
VBA×Seleniumでの利用例
VBA×Seleniumでの利用例については以下の記事に書いています。
VBA:【Selenium】SeleniumBasicの基本的な使い方。ブラウザの操作、起動と検索
【VBA×Selenium】VBAのSeleniumBasicを使ったWebスクレイピングの基本となるブラウザの起動と検索方法について説明します。