プロが教えるわが家の防犯対策術!

社内システムの自動ログインをしたく、VBSで作成しているのですが
実行すると下記部分でエラーが発生してしまいます。

==========================================
objIE.document.loginForm.action = "login.do".value = "ユーザID"
objIE.submitForm(document.loginForm)
objIE.document.loginForm.action = "goPassChange.do" = "パスワード"
==========================================
上記のlogin.doの部分が見つからないとエラーが発生してしまいます。

下記HPソースです。
==========================================
function login() {
document.loginForm.action = "login.do";
submitForm(document.loginForm);
}

function goPassChange() {
document.loginForm.action = "goPassChange.do";
loginForm.submit();
}

function doubleLogin() {
// index.html から起動されなかった場合は、index.htmlに遷移。
// ブラウザバージョンチェックの実施およびメニューなどを消して起動するため。
var fromIndex = 'from_index';
var locationHref = "./";
if (window.name != fromIndex) {
location.href = locationHref;
return;
}

if (doubleLoginmsg != "null") {
alert(doubleLoginmsg);
==========================================
ソース元の抽出している場所が違うのでしょうか?

==========================================
<td class="center">ユーザID
</td>
<td>
<input type="text" name="loginBTO.userId" maxlength="50" size="20" value="" class=".login">

</td>
</tr>
<tr>
<td>
</td>
<td class="center">パスワード
</td>
<td>
<input type="password" name="loginBTO.password" maxlength="50" size="20" value="" class=".login">

=======================================
こちらのnameから抽出するのか混乱してしまい手さぐりでやりましたが
どうしてもうまくいきません・・

ご教示の程よろしくお願いまします。

質問者からの補足コメント

  • 社内システムにIE上でアクセスすると新規ウィンドウで立ち上がる為、
    その為、ソースが見当たらないとなってしまうのでしょうか?

      補足日時:2018/03/29 21:27

A 回答 (1件)

こんにちは



VBSは知らないので、よくわかりませんけれど・・・、やっていることが違うのでは?

HTMLドキュメントは取得できているものとして、質問者様が行うべきことは
1)HTMLの該当するinput要素にIDをセット
2)HTMLの該当するinput要素にパスワードをセット
3)(必要な場合は、action先を設定)
4)(submitボタンをクリックあるいはform要素をsubmit)
ではないのでしょうか?
 質問文にご提示の内容が断片的なので、ボタンの有無や、changeイベントの発生で自動的にsubmitしているのか(?)などが不明ですが、ボタンが無い場合等はform要素をsubmitすればよいと思われます。
なさりたい内容によっては、formのaction先を変える必要があるのかも知れませんが、デフォルトのaction属性がどうなっているか、ログイン時のaction先はどこが正しいのかなどが不明なので、文章だけからではわかりません。

とはいえ、ご提示の内容は、上記の内容とは無関係の処理を行おうとしているように見えます。
>上記のlogin.doの部分が見つからないとエラーが発生してしまいます。
VBSは知らないので、文法もわかりませんが、見つからないのではなくて
>"login.do".value
って、String.Valueですから、そのような属性値は無いのではと想像しますけれど?
そもそもactionに代入しようとしている内容が、hoge=fugaの結果になっているので、論理値になっちゃうし、(多分Falseでしょうけれど)それって意味があるのですか?
    • good
    • 0

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