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」をマッチングする、みたいなプログラムにすれば良かったのかもしれませんが、そこまでは気が回らなかったのでしょう。
« 尾木ママを責めるなら北芝健にもつっこんであげて(北海道置き去り事件への憶測) | トップページ | WBS大江麻理子アナの体重は44.5kg(2016年5月19日現在) »
「パソコン・インターネット」カテゴリの記事
- AviUtl+VobSubでDVDの字幕が大幅にずれるときの対処方法(2018.11.03)
- Z-Waveの読み方はズィーウェイブ(2017.06.06)
- ImageMagick 7で複数ファイルのトリミングを行う(2017.03.08)
- AcrobatのPNG保存で「ディスク容量容量が不足している可能性があります」のエラーが出るときは、RGBプロファイルの埋め込みをオフにしてみる(2017.03.07)
- ポケモンGOのやめ方 ~ポケGO廃人になる前に~(2017.02.28)
「書籍・雑誌」カテゴリの記事
- 小僧寿しの由来は志賀直哉の『小僧の神様』・・・なのか?(2021.12.28)
- 「エレガントな問題解決」演習問題 2.1.27(d)の解答(辺の長さ1の四角錐と正四面体の貼り合わせ)(2017.02.01)
- 「エレガントな問題解決」演習問題 2.1.27(a)の解答(5つの10年区切りを生きたマーサの年齢)(2016.12.14)
- 「エレガントな問題解決」演習問題 2.1.25の解答(分母が3つの項の積になっている数列の和)(2016.11.17)
- 「エレガントな問題解決」演習問題 2.1.22の解答(コーヒーとミルクの割合)(2016.11.15)
« 尾木ママを責めるなら北芝健にもつっこんであげて(北海道置き去り事件への憶測) | トップページ | WBS大江麻理子アナの体重は44.5kg(2016年5月19日現在) »
コメント