すべてのコレクション
よくある質問
ドロップダウンメニューから特定のオプションを選択する方法
ドロップダウンメニューから特定のオプションを選択する方法
一週間前以上前にアップデートされました

ドロップダウンメニューを選択してからデータを抽出することはよくあります。メニューにあるすべてのオプションを入手することがあり、 場合によっては、1つまたはいくつかの特定のオプションが必要になる場合もあります。この記事では、ドロプダウンメニューから特定のオプションを選択する方法をについてご説明します。

簡単に言うと、XPathを変えることです。適切なオプションを見つけるには、正しいXPathを書くことが最速の方法です。

例として次のURLを取り上げます。

これはドロップダウンメニューで、多くのオプションが含まれています。

mceclip0.png


まず、ドロップダウンメニュー全体を選択して、ループアイテムを作る必要があります。

そのため、「ループアイテム」のデフォルトのXPathは

//SELECT[@class='js-multi-select__parent']/OPTION

になります。ご覧のとおり、ドロップダウンメニューには9個のアイテムがあります。

mceclip2.png

ニーズに合わせて、「ループアイテム」のXPathを変更する必要があります。

1. 位置で特定のオプションを選択する

例えば、一番目の「選択してください」のオプションはいらないものですね。

//SELECT[@class='js-multi-select__parent']/OPTION[position()>1]

に変更すると、そのオプションは外されます。

changexpath.gif

「position()」の後に「>」、「=」、「<」を使用して、必要に応じて調整できます。

最後のオプションのみを選択する場合、正しいXPathは次のとおりです。

//SELECT[@class='js-multi-select__parent']/OPTION[last()]

mceclip4.png

また、「イベント」である4番目のオプションを選択する場合、正しいXPathは次のようになります。

//SELECT[@class='js-multi-select__parent']/OPTION[position()=4]

新しいXPathに置き換えると、4番目のオプションが表示されます。

mceclip6.png

position()=*の場合は、省略することができます。例えば、以下のXPathでも4番目のオプションが表示されます。

//SELECT[@class='js-multi-select__parent']/OPTION[4]

2. テキストで特定のオプションを選択する

もしほかに「映画」というテキストを含むオプションを選択する場合、正しいXPathは次のようになります。

//SELECT[@class='js-multi-select__parent']/OPTION[contains(text(),"映画")] 

mceclip7.png

こちらの回答で解決しましたか?