RPAエンジニアの雑記

RPA(Blue Prism)について色々記載してます。

(BluePrism)HTMLコンボボックスの操作

ご無沙汰しております。
おむおむです。

筋トレにハマりました。
ジムに通うかどうか迷い中です。

さて、最近ちょっと技術検証できていなかったので
久しぶりにぽちぽちしてみました。

試したのは以下のようなセレクトボックスです。

<select id="menu" name="example" size="1">
    <option value="1" label="ごはん">rice</option>
    <option value="2" label="卵">egg</option>
    <option value="3" label="ケチャップ">ketchup</option>
</select>

読み取り

まずは読み取りステージのアクションを見てみましょう。

なお、アイテム数関連のアクションについては
正直読んだままその通りなので、この記事では特に言及しません。

すべてのアイテムを取得

その名の通り、すべてのコンボボックス内のアイテムを取得します。
ここで気になるのが、
「アイテム」とは何を指すのかということです。
1. optionタグで囲まれている部分
2. label属性で指定されている部分

結果はこちら!
f:id:newgraduate19:20201025122101p:plain
1でした。
シンプルですね。

選択したアイテムを取得

こちらも、optionタグで囲まれた部分が取得されます。
また、結果がコレクションで返ってくることから推測できますが、
セレクトボックスが複数選択に対応している場合、
選択されているすべてのアイテムが取得されます。

こんな感じですね。
ShiftまたはCtrlを押しながらクリックすると
複数選択することができるやつです。

<select id="menu" name="example" size="3" multiple>
    <option value="1" label="ごはん">rice</option>
    <option value="2" label="卵">egg</option>
    <option value="3" label="ケチャップ">ketchup</option>
</select>

結果はこんな感じ。
f:id:newgraduate19:20201025123616p:plain

選択したアイテムテキストを取得

こちらも、optionタグで囲まれた部分が取得されます。

これだけはテキスト型で返ってくることからわかりますが、
選択されたアイテムが複数あった場合でも、
その中で1番上のアイテムのみが返ってきます。

選択

リストのアイテムを選択するには、
操作ステージか書き込みステージを使用する必要があります。
一般的には操作ステージで実装しているのかなと思います。

アイテムを選択

入力パラメータは以下の3つです。

アイテムテキスト
アイテムの位置
アイテム値

上位のパラメータが指定されている場合、
下位のパラメータは何か値が入っていても無視されるようです。

アイテムテキスト

書き込みステージで指定する場合は
このパラメータを操作ステージで指定する場合と
同様の処理が行われるようです。

読み取りステージの挙動から推測できますが、
optionタグで囲まれているテキストを指定する必要があります。

あまりないとは思いますが、
今回サンプルで使用したような
label属性が使用されている場合
注意が必要ですね。

そして、リスト内のアイテムの前後にスペースが隠れている場合にも
注意する必要があります。

操作ステージで実装する前に、一度読み取りステージでアイテムを取得して
返ってきた値を確認することがオススメです。

アイテムの位置

上から数えた位置からアイテムを指定します。
これはそのまんまですね。

アイテム値

これなんやねんという感じですね。

値、英語で言うとvalue
おや、そういえばoptionタグにvalue属性ってあったな?

サンプルのvalueの値を、「アイテム値」に指定してみると...
f:id:newgraduate19:20201025131618p:plain

f:id:newgraduate19:20201025131847p:plain

予想通り!
f:id:newgraduate19:20200703173227j:plain

ちなみにWebページ側でvalue属性が指定されていない場合は、
optionタグで囲まれている値がアイテム値になるので、
実質アイテムテキストを指定するのと
同様の挙動となります。

まとめ

・要はoptionタグの値だけ見ていればOK
・label属性は使用されない
・夜はランニングに行きます

カレーっておいしいけど
一人暮らしだと持て余す量なんですよね。。。