dポイントプレゼントキャンペーン実施中!

こんにちは、以下のような書かれたサイトにjavascriptを使って自動ログインしたいと考えていますが、うまくログインされません。

一番下のinputタグにてログインしているようなのですが
IE.Document.Form1.imgLogin.click();
とすると、エラーになるので
IE.Document.Form1.elements(5).click();
としましたがエラーにはならないもののうまくいきませんでした。
IE.Document.Form1.elements(5).data = true;
IE.Document.Form1.elements(5).value = true;
IE.Document.Form1.action = "index.aspx";
IE.Document.Form1.submit();
としてみましたが、こちらもうまくいきませんでした。

どのようにしたら、自動ログインすることが可能なのでしょうか?
教えて頂けると非常に助かります。
よろしくお願いいたします。

---サイトフォーム
<FORM id=Form1 name=Form1 action=index.aspx method=post>
<INPUT id=__VIEWSTATE type=hidden value=... name=__VIEWSTATE>
<INPUT id=__EVENTVALIDATION type=hidden value=... name=__EVENTVALIDATION>
<INPUT id=txtUid maxLength=6 value="" name=txtUid>
<INPUT id=txtPwd type=password maxLength=20 value="" name=txtPwd autocomplete="off">
<INPUT language=javascript id=imgLogin onclick="{ if (document.Form1.txtUid.value==&quot;&quot;) { document.Form1.txtUid.focus();alert('ユーザIDを入力してください。');return false;} if (document.Form1.txtPwd.value==&quot;&quot;) {alert('パスワードを入力してください。');document.Form1.txtPwd.focus();return false;} return true;};" type=image src="img\login1.gif" border=0 name=imgLogin></form>

----オートログイン.js
var IE = WScript.CreateObject("InternetExplorer.Application");
IE.Visible = true;
IE.Navigate("http://hogehoge/hoge/index.aspx");
while(IE.busy) ;
while(IE.Document.readyState != "complete") ;
IE.Document.forms(0).elements(3).value = "user";
IE.Document.forms(0).elements(4).value = "password";
//IE.Document.forms(0).elements(5).click();
//IE.Document.Form1.imgLogin.click();
IE.Document.Form1.elements(5).data = true;
IE.Document.Form1.action = "index.aspx";
IE.Document.Form1.submit();

A 回答 (2件)

> IE.Document.forms(0).elements(3).value = "user";


> IE.Document.forms(0).elements(4).value = "password";

<input>の数が5つだから、インデックスは0から4だと思いますが。


> IE.Document.Form1.elements(5).data = true;
> IE.Document.Form1.action = "index.aspx";
この2行は不要な気がします。

この回答への補足

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

5つめのinputがログインボタンのようなのですがjavascriptを見ると、このボタンがクリックされたときにtrueを返しているようなのですが、input要素をtrueにするとはどういうことなのでしょうか?

確かに指摘の2行は不要と思われますが、もしかしたらと思って書いてみましたがあまり関係ないようでした。

補足日時:2010/01/16 17:25
    • good
    • 0

vbscriptをベタに書いてますよね?


じゃvbscriptをそのままつかえばいいような気がしますが?

vbsでは()で要素へアクセスしますが、jsだと[]をつかいますね。
そのあたりからおさらいしてみてはどうでしょうか?

この回答への補足

回答どうもありがとうございます。
()から[]に変えてみたのですが、こちらの場合はどちらでも使えるみたいでした。

補足日時:2010/01/16 19:51
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!