tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルWebBrowserでの自動ボタンクック
記事No13116
投稿日: 2008/10/07(Tue) 22:56
投稿者まーさ
初めて質問させていただきます。
当方XP VB6.0 SP6 IE7 にて使用しています。

とあるサイトに自動でログインを完了させようとしています。
過去ログで、submitや、そうでないボタンの自動押下のサンプルコード
を参考に組んでみたのですが、どうもうまくいきません。
javascriptも含まれているようで、その辺りの知識に疎い私にはどうにも理解が出来ませ
ん。
InputBoxへのIDやPASSの入力は出来たのですが、ボタンを押す方法や、厚かましいのですが
サンプルコードも教えていただけると、非常に助かります。

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


<body>
<form id="form1" name="form1" method="post" action="**********.html" enctype="application/x-www-form-urlencoded">
<input type="hidden" name="form1" value="form1" />

  <!--ヘッダ-->
  <div class="header">
    <h1><a href="index.htm"><img src="../img/toplogo.gif" alt="" width="150" height="65" border="0" /></a></h1>
    <div class="nav">
    </div>
  </div>
  <!--コンテンツ-->
  <div class="login">
    <div class="loginBox_blue">
      <table class="loginTable"
summary="&#12525;&#12464;&#12452;&#12531;&#12486;&#12540;&#12502;&#12523;">
        <tr>
          <td colspan="2">
          </td>
        </tr>
        <tr>
          <td>ID</td>
          <td><input id="form1:loginid" type="text" name="form1:loginid"
class="w120" style="ime-mode:disabled" />
          </td>
        </tr>
        <tr>
          <td>PASS</td>
          <td><input id="form1:loginpass" type="password" name="form1:loginpass"
value="" style="ime-mode:disabled" class="w120" />
          </td>
        </tr>

        <tr>
          <td colspan="2" class="loginButton">
<script type="text/javascript" language="Javascript">function dpf(f) {var adp =
f.adp;if (adp != null) {for (var i = 0;i < adp.length;i++) {f.removeChild(adp
[i]);}}};function apf(f, pvp) {var adp = new Array();f.adp = adp;var ps = pvp.split
(',');for (var i = 0,ii = 0;i < ps.length;i++,ii++) {var p = document.createElement
("input");p.type = "hidden";p.name = ps[i];p.value = ps[i + 1];f.appendChild(p);adp
[ii] = p;i += 1;}};function jsfcljs(f, pvp, t) {apf(f, pvp);var ft = f.target;if
(t) {f.target = t;}f.submit();f.target = ft;dpf(f);};</script>
<a href="#" onclick="if(typeof jsfcljs == 'function'){jsfcljs(document.forms
['form1'],'form1:j_id8,form1:j_id8','');}return false">
              <img src="../img/btn_login_b.gif" alt="ログイン" width="120"
height="20" border="0" /></a>
          </td>
        </tr>
      </table>
    </div>
  </div>
  <!--フッタ-->
  <div class="footer">
    <div class="footerMenu">
            
  </div>

  </div><input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="_id62433" />
</form>
</body>

[ツリー表示へ]
タイトルRe: WebBrowserでの自動ボタンクック
記事No13118
投稿日: 2008/10/08(Wed) 16:16
投稿者これ
> とあるサイトに自動でログインを完了させようとしています。
> 過去ログで、submitや、そうでないボタンの自動押下のサンプルコード
> を参考に組んでみたのですが、どうもうまくいきません。
> javascriptも含まれているようで、その辺りの知識に疎い私にはどうにも理解が出来ませ
> ん。
> InputBoxへのIDやPASSの入力は出来たのですが、ボタンを押す方法や、厚かましいのですが
> サンプルコードも教えていただけると、非常に助かります。

こんにちは。
JavaScriptとかはこの際関係なくて
ボタンに見えている Aタグをクリックしてあげればいいと思うので
WebBrowserコントロールを使っていると仮定して
現在のドキュメントを
Set doc = WebBrowser1.Document
で取って

Set cTags = doc.All.tags("A")    ' Aタグコレクション取得
For Each oTag In cTags
    ' 目的のAタグかどうかの判断
    If InStr(oTag.innerHTML, "<IMG height=20 alt=ログイン") > 0 Then
        ' プロパティの「"」が取れるみたいです
        oTag.Click               ' Aタグをクリック!
        Exit For                 ' ループ抜ける
    End If
Next

これで 目的のAタグがクリックできるはずです。
※もちろんReadyStateプロパティ等でページの読み込み完了は確認しておいてください
※必要な定義、参照設定等は適宜お願いします。

[ツリー表示へ]
タイトルRe^2: WebBrowserでの自動ボタンクック
記事No13119
投稿日: 2008/10/09(Thu) 01:14
投稿者まーさ
これ様

さっそくお返事頂き、ありがとうございます。
教えていただいたコードで、すんなりログインすることが出来ました。

ありがとうございました!m(__)m

[ツリー表示へ]