ドロップダウンメニューから特定のオプションを選択する方法
フォローするドロップダウンメニューを選択してからデータを抽出することはよくあります。メニューにあるすべてのオプションを入手することがあり、 場合によっては、1つまたはいくつかの特定のオプションが必要になる場合もあります。この記事では、メニューの特定のオプションを選択する方法を説明します。
簡単に言うと、XPathを変えることです。適切なオプションを見つけるには、正しいXPathを書くことが最速の方法です。
例として次のURLを取り上げます。
https://eplus.jp/sf/area/hokkaido-tohoku/aomori
これはドロップダウンメニューで、多くのオプションが含まれています。
まず、ドロップダウンメニュー全体を選択して、ループアイテムを作る必要があります。
そのため、「ループアイテム」のデフォルトのXPathは
//SELECT[@class='js-multi-select__parent']/OPTION
になります。ご覧のとおり、ドロップダウンメニューには9個のアイテムがあります。
ニーズに合わせて、「ループアイテム」のXPathを変更する必要があります。
1. 位置で特定のオプションを選択します
例えば、一番目の「選択してください」のオプションはいらないものですね。
//SELECT[@class='js-multi-select__parent']/OPTION[position()>1]
に変更すると、そのオプションは外されます。
「position()」の後に「>」、「=」、「<」を使用して、必要に応じて調整できます。
最後のオプションのみを選択する場合、正しいXPathは次のとおりです。
//SELECT[@class='js-multi-select__parent']/OPTION[last()]
また、「イベント」である4番目のオプションを選択する場合、正しいXPathは次のようになります。
//SELECT[@class='js-multi-select__parent']/OPTION[position()=4]
新しいXPathに置き換えると、4番目のオプションが表示されます。
position()=*の場合は、省略することができます。例えば、以下のXPathでも4番目のオプションが表示されます。
//SELECT[@class='js-multi-select__parent']/OPTION[4]
2. テキストで特定のオプションを選択します
もしほかに「映画」というテキストを含むオプションを選択する場合、正しいXPathは次のようになります。
//SELECT[@class='js-multi-select__parent']/OPTION[contains(text(),"映画")]