サードパーティのWebサイトで送信ボタンを自動的に押すJavaScriptを作成しようとしています。基本的に、ユーザー名とパスワードを入力したCookieを使用してサイト(Googleアカウントなど)に自動的にログインする場合、JavaScriptは送信ボタンを自動的に押します。
user1667601
質問する
18241 次
1 に答える
5
あなたが探しているのは、.click()
すべてのボタンが持っている方法だと思います。より詳細な説明は以下の通りです...
あるフレームでJavaScriptコードを使用しframeset
、別のフレームでサードパーティのページを使用できます。例えば:
<!-- Main page -->
<HTML><frameset rows="0,*">
<!-- You see your script page. To see the actual login page, swap the * and the 0. -->
<frame src="http://third.party.website.com/login/page.htm" name="theirframe" />
<frame src="myscript.html" name="myframe" />
</frameset></HTML>
また、ログインしたいページが次のような場合(Gmailのログインページからクリーンアップすると、改行とスペースが奇妙に配置されます!):
<!-- Third-party page -->
<div class="email-div">
<label for="Email"><strong class="email-label">Username</strong></label>
<input type="email" spellcheck="false" name="Email" id="Email" value="">
</div>
<div class="passwd-div">
<label for="Passwd"><strong class="passwd-label">Password</strong></label>
<input type="password" name="Passwd" id="Passwd">
</div>
<input type="submit" class="g-button g-button-submit" name="signIn" id="signIn" value="Sign in">
その場合、スクリプトはおそらく次のようになります。
<!-- Your script page (myscript.html) -->
<HTML><body>
<!-- Insert custom message here... -->
Logging you in......
<script>
//parent.theirframe.document.getElementById("Email").value = getemail();
//parent.theirframe.document.getElementById("Passwd").value = getpass();
parent.theirframe.document.getElementById("signIn").click();
</script>
<body></HTML>
ブラウザが「ID「Eメール」の要素が存在しません」などと表示している場合、ブラウザはログインページの前にスクリプトページをロードした可能性があります。その場合、ログインページをiframe
カスタムページ内の名前付きに配置し、ページの本文の後にスクリプトを配置する必要iframe
があります。そうすることになった場合は、このページiframe
がのコンテンツへのアクセスに役立ちます。
これがお役に立てば幸いです。
于 2012-09-16T18:45:27.503 に答える