canse
(CANSE)
1
Webページのプルダウンリストの項目一覧を取得する方法がわかりません。
(試した方法)
DataScrapingボタンを押して、
F2キーを押してカウントダウン中に、プルダウンリストを選択し、プルダウンの選択肢を表示させて、選択肢の先頭と最後を選択しようとしました。
しかし、プルダウンの項目を選択できませんでした。
(目的)
プルダウンリストに含まれる項目に一致する候補が複数あり、プルダウンリストにその項目のうち一致するものがあったら、それを選択したい。
(例)
候補:りんご、バナナ、みかん
プルダウンリストに上記の候補が必ず存在するかは不明
候補が存在したら、それを選択する。
(りんごがプルダウンリストに存在したら、りんごを選択する。)
候補が全て存在しなかったら、一番上を選択する。
プルダウンリストの一覧を取得して、ループで一致するものを探し、その項目を"Select item アクティビティ"で選択することを想定しています。
Honoka
(Honoka Hayasaka)
2
標準機能でできそうなものですが、そうでもなく。
さりげなく難題ですね・・・。
かなり力技になりますが、 UI Automation > Browser > Inject Js Script で、
"function(element, input){var ret = ''; var c = element.children; for(var i=0;i < c.length;i++){ret = ret + (i == 0 ? '' : ',') + c[i].innerText;}; return ret; }"
こんな感じのコードを対象のプルダウンにInjectすると、カンマ区切りで選択肢をGenericValueで取得できます。あとは
戻り値の変数名.Split(","c)
で、String型の配列に戻せるので・・・といった感じでしょうか。
元々の候補にカンマが入っていると駄目なので、そのあたりはJavaScriptを要調節かな、になりそうです。
うーん、あまりスマートな方法じゃないですね。他に何かないか検討してみます。
Honoka
(Honoka Hayasaka)
3
すいません、肝心なことを失念していました。
JavaScriptに頼らなくても、Get Full Textの対象にすることで、リストの一覧は改行区切りでとれますね。
canse
(CANSE)
4
Get Full Text でとれたんですね。
ありがとうございました。