はきだめ

何も面白いことは書いてないよ。ただのチラシの裏だ(´・ω・`)
なんたらかんたらっていうブログもやってまつ>(・ω・ )rrrrrrrrrrrrrrrrz

2009年01月17日

do JavaScriptでラジオボタンの操作

system events でわからないことがあったので調べものしてたら面白いものを拾ったのでメモ

(´・д・`) <メモしなかったら絶対忘れる

applescriptでdo JavaScriptでのフォーム送信例
Googleの場合

tell application "Safari"
open location "http://www.google.co.jp/"
delay 2

tell document 1
-- 検索ワードにあ〜おを入力
repeat with i in {"あ", "い", "う", "え", "お"}
do JavaScript "document.f.q.value = '" & i & "';"
delay 1
end repeat

--ウェブ全体から検索 日本語のページを検索のトグル
do JavaScript "document.f.lr[1].checked = true;"
delay 1
do JavaScript "document.f.lr[0].checked = true;"
delay 1
do JavaScript "document.f.lr[1].checked = true;"

--検索実行
do JavaScript "document.f.submit();"
end tell
end tell

system eventsでのラジオボタンの操作の仕方を探していたのですが、
do JavaScriptで代用可能とは目から鱗。

fはformの、lrはinputの値ですので
Google以外で使うときには変えてやってください

<form action="" name=hoge>
<input type=radio name=fuga value="0">button0
<input type=radio name=fuga value="1">button1
<input type=radio name=fuga value="2">button2
</form>

みたいなソースなら

do JavaScript "document.hoge.fuga[0].checked = true;"

な感じですね

javascriptでのフォーム周りの詳しいことはこちらが参考になるです
http://www.tohoho-web.com/js/form.htm


ちなみに、上記と似たようなことをsystem eventsで書くとこうなります

applescriptでsystem eventsでのフォーム送信例

tell application "Safari"
activate
open location "http://www.google.co.jp/"
delay 2
end tell

tell application "System Events"
tell process "Safari"

-- 検索ワードにあ〜おを入力
repeat with i in {"あ", "い", "う", "え", "お"}
tell menu "編集" of menu bar 1
click menu item "すべてを選択"
delay 0.5
set the clipboard to i as text
click menu item "ペースト"
delay 1
end tell
end repeat

--検索実行
keystroke return
end tell
end tell

system eventsでのラジオボタンの弄り方はよくわからないので省略
ってかそれを調べてたんだけど別の方法見つけたからもういいやw


do JavaScriptは使いやすいけどjavascriptが動作しないと話しにならないので汎用性は低い
system eventsはほぼすべての場面で使えて強力だけど扱いがめんどくさい
本当に一長一短な感じ
posted by キティ at 21:29 | Comment(1) | applescript | このエントリーを含むはてなブックマーク
この記事へのコメント
  1. Posted by 北町常回り筆頭同心の磯貝さん at 2013年01月08日 13:03
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
( ゚д゚ )<独り言

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。