匿名質問者

WEBブラウザのフォームに自動入力できるようなツールを入手したい、もしくは、簡単につくりたいです。

ブラウザは、windowsのIEとAndroidの標準ブラウザです。入力データは名前、メールアドレスなど5項目ほどあり、テキストを入力するフォーム、プルダウンで選択するフォームがあります。入力後、あるボタンを押したいです。そのデータが複数セットあり、表形式で管理できると助かります。その表を、両ブラウザで共通に使いたいのです。
ちょっと調べた範囲では、ExelのVBAを使えばできそうですが、Androidでできるのか、わかりませんでした。他の方法でも結構です。
ご教示ください。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2015/02/01 02:30:05

ベストアンサー

匿名回答1号 No.1

データをHTML文書にしてどっかのサーバーにアップロードしておいて、
入力するときはbookmarkletからiframeを作ってデータを読み込んで……みたいな。
クロスドメイン制限を打ち破るためにはwindow.postMessageを使う。
https://developer.mozilla.org/ja/docs/DOM/window.postMessage

他3件のコメントを見る
匿名質問者

ご回答ありがとうございます。

おかげさまで「①のみ」「②のみ」はできるようになりました。ただ「①→②」ができないで苦戦しております。私のタイプミスの可能性もあるのかもしれませんが...
確認したいことがございます。
bookmarkletをページ1で実行して、location.href='ページ2のアドレス'にした後、
document.getElementById("name").value="太郎"
みないなことはできますでしょうか?
よくわかってなくて申し訳ないのですが、例えば
win = window.open('ページ2のアドレス')
win.document.getElementById("name").value="太郎"
のようなことはしなくてもよろしいのでしょうか?(この2行があっている自信もないですが)

恐れ入りますが、よろしくお願いいたします。

2015/01/28 00:31:45
匿名回答1号

スマホを持ってないのでAndroidの標準ブラウザで
window.open()がどう動くのか分からないです。

自分だったらlocation.hrefを使うより、こういう感じにするかな。

javascript:(function(){
var iframe = document.createElement("iframe");
iframe.src = 'ページ2のアドレス';
document.body.appendChild(iframe);
var win = iframe.contentWindow;
win.addEventListener("DOMContentLoaded", entryForm, false);
function entryForm() {
win.document.getElementById("name").value="太郎";
document.body.removeChild(iframe);
}
})();

2015/01/28 03:22:25

その他の回答0件)

匿名回答1号 No.1

ここでベストアンサー

データをHTML文書にしてどっかのサーバーにアップロードしておいて、
入力するときはbookmarkletからiframeを作ってデータを読み込んで……みたいな。
クロスドメイン制限を打ち破るためにはwindow.postMessageを使う。
https://developer.mozilla.org/ja/docs/DOM/window.postMessage

他3件のコメントを見る
匿名質問者

ご回答ありがとうございます。

おかげさまで「①のみ」「②のみ」はできるようになりました。ただ「①→②」ができないで苦戦しております。私のタイプミスの可能性もあるのかもしれませんが...
確認したいことがございます。
bookmarkletをページ1で実行して、location.href='ページ2のアドレス'にした後、
document.getElementById("name").value="太郎"
みないなことはできますでしょうか?
よくわかってなくて申し訳ないのですが、例えば
win = window.open('ページ2のアドレス')
win.document.getElementById("name").value="太郎"
のようなことはしなくてもよろしいのでしょうか?(この2行があっている自信もないですが)

恐れ入りますが、よろしくお願いいたします。

2015/01/28 00:31:45
匿名回答1号

スマホを持ってないのでAndroidの標準ブラウザで
window.open()がどう動くのか分からないです。

自分だったらlocation.hrefを使うより、こういう感じにするかな。

javascript:(function(){
var iframe = document.createElement("iframe");
iframe.src = 'ページ2のアドレス';
document.body.appendChild(iframe);
var win = iframe.contentWindow;
win.addEventListener("DOMContentLoaded", entryForm, false);
function entryForm() {
win.document.getElementById("name").value="太郎";
document.body.removeChild(iframe);
}
})();

2015/01/28 03:22:25
匿名質問者

質問者から

匿名質問者2015/01/27 17:36:39

ご回答ありがとうございました。

昨晩、bookmarkletに簡単なjavascriptを記述して、やりたいことの半分はできました。やりたいことは

①あるページ(ページ1)のリンクをクリックして、別のページ(ページ2)に移動する。

②ページ2において、必要なデータを入力後、ボタンをクリックする。

なのですが、②はできるようになりました。

ページ2はページ1の一つ下の階層になります。この場合、クロスドメイン制限はない(自由にアクセスできる)と思ってよろしいでしょうか?

クロスドメイン制限とwindow.postMessageを丁寧にご説明いただきましたが、まだ理解できておりません。申し訳ございませんが、

 ・ページ2からページ1への移動が可能か否か?

 ・この質問文だけではわからない場合、可能か否かを調べる方法

をご教示いただけると助かります。また、質問させていただきながら、ページ1とページ2のURLを開示できないこと申し訳ございません。

よろしくお願いいたします。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません