« 尾木ママを責めるなら北芝健にもつっこんであげて(北海道置き去り事件への憶測) | トップページ | WBS大江麻理子アナの体重は44.5kg(2016年5月19日現在) »

2016年6月 8日 (水)

Chromeの拡張機能「Autofill」でプルダウンメニューを選択させるときの指定方法

よく行くページなどのWebフォームに自動的にデフォルト値をつっこむことができる、Chromeの「Autofill」という拡張機能があります。

で、飛行機の予約なんかで名前や住所を高速(自動的)に入力して、予約競争を勝ち抜こうというエントリを以前書きました↓

Google Chromeの拡張機能「Autofill」を使ってSKYバーゲンを勝ち取れ: 主張

で、上記ではテキストフィールドへの入力をやっていたのですが、別件でプルダウンメニュー(HTML的にはセレクトボックスと言うのでしょうか)の選択をやりたかったけどなかなかできなくて、試行錯誤の末、うまく行ったので、それを書き留めておく次第。

ことの発端は、福岡市総合図書館の蔵書検索のページで、検索結果一覧表示における表示数のデフォルトが10件になっていたこと。

福岡市総合図書館蔵書検索ページの検索結果一覧表示数

表示された10件を見て、ページを切り替えて、また10件見て、ページを切り替えて・・・、なんてのはありえない。いっぺんに100件(最大数)表示させて、一気に見渡した方がどう考えても便利だとは思うのですが、好みってのがあるんでしょう。

プルダウンで「100件」を選択してから、検索ボタンを押せば、そうできるんですが、毎回毎回プルダウンメニューで「100件」を選択するってのは、ライフハッカー的ではないわけで、やり方を調べるのにどんなに時間がかかろうが、自動化せねば気が済まない。

で、拡張機能である「Autofill」が使えるわけですが、テキストの場合とちょっと違うので、やり方を書いておきます。

まず、該当箇所のHTMLソースを見ます。

<label id="AssistListLabel" for="AssistListSelect">表示数</label>

<select id="AssistListSelect" name="dispmaxnum" tabindex="531" class="formfontsize">
    <option value='10' selected>

     10件

    </option>


    <option value='20'>

     20件

    </option>


    <option value='50'>

     50件

    </option>

   
    <option value='100'>

    100件

    </option>

</select>

「表示数」というテキスト表示を頼りに該当箇所を探すと、selectタグを見つけることができました。つまりこのプルダウンメニューの名前は「dispmaxnum」とうことが分かりました。

では、100件を選択させるためには、AutofillのValue欄には何を指定したらいいのでしょうか。選択肢であるoptionタグにはnameやidの属性がないですからねぇ・・・。

答えは簡単で、選択肢タグの要素の文字列をそのまま書けばOKでした。

つまり、

 Type欄: 「Select」
 Name欄: 「dispmaxnum」
 Value欄: 「100件」
 Site欄: 「https://opac.toshokan.city.fukuoka.lg.jp/licsxp-opac/WOpacTifSchCmpdDispAction.do」

で、うまく機能します。ちなみに、Name欄にはidである「AssistListSelect」を指定してもOK。どっちを指定するんだろうって思いませんでした?どっちでもいいんですねえ。

そして、マニュアルを読んでみると、もう一つの指定の仕方も判明しました。

Valueについての説明項目

If Type = Select, then you can enter two types of values. First, you can enter the exact text of the menu item you would like to select. Autofill will match against both the menu item's value and text, though Regular Expressions are not supported in this context.

(拙意訳)
TypeにSelectを選択した場合、2つの入力方法が可能です。1つ目は、選択したいメニューアイテムのテキストを入力する方法です。Autofillはメニューアイテムのvalueおよびtextとマッチングを行います。このとき正規表現は使えません。

「exact text」とあるので、文字列部分はフルで記入する必要があります。valueにもマッチさせるとあるので、「100」でもいけそうな気がしますが、うまくいきませんでした。理由の推測は後述。

You can also enter the index number of the menu item to automatically select (the first menu item has an index of 0).

(拙意訳)
自動選択したいアイテムのインデックス番号を入力することも可能です。(1番目のメニューアイテムがインデックス 0 になります)

福岡市図書館の例だと、10件、20件、50件、100件の選択肢に対して、0, 1, 2, 3 のインデックスが割り当てられるということですね、なので、

 Type欄: 「Select」
 Name欄: 「dispmaxnum」
 Value欄: 「3」
 Site欄: 「https://opac.toshokan.city.fukuoka.lg.jp/licsxp-opac/WOpacTifSchCmpdDispAction.do」

という指定も可能です。

で、テキストマッチで「100」という指定がうまくいかなかった理由(推測)。値が数値だけで構成されているので、インデックス100だと解釈したんじゃないですかね。

インデックス100が存在しなかったら、文字列「100」をマッチングする、みたいなプログラムにすれば良かったのかもしれませんが、そこまでは気が回らなかったのでしょう。

LIFEHACKベストセレクション (晋遊舎ムック)
LIFEHACKベストセレクション (晋遊舎ムック)

« 尾木ママを責めるなら北芝健にもつっこんであげて(北海道置き去り事件への憶測) | トップページ | WBS大江麻理子アナの体重は44.5kg(2016年5月19日現在) »

パソコン・インターネット」カテゴリの記事

書籍・雑誌」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

« 尾木ママを責めるなら北芝健にもつっこんであげて(北海道置き去り事件への憶測) | トップページ | WBS大江麻理子アナの体重は44.5kg(2016年5月19日現在) »

スポンサーリンク


スポンサーリンク


無料ブログはココログ