1

サードパーティのWebサイトで送信ボタンを自動的に押すJavaScriptを作成しようとしています。基本的に、ユーザー名とパスワードを入力したCookieを使用してサイト(Googleアカウントなど)に自動的にログインする場合、JavaScriptは送信ボタンを自動的に押します。

4

1 に答える 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 に答える