三流君 ken3のmemo置き場

三流プログラマーのメモ書きです。主にVBAやWindowsの話題が多いです

挨拶・自己紹介:
失敗続きのAB型の変わり者 :三流プログラマー Ken3です
フリーのエンジニア・個人事業主です・・と書くと聞こえはイイが(それとなくカッコよく聞こえるが)、 現在は小さな案件の受注請負 と 短期派遣 で 日々つつましく?ほそぼそと暮らしてます。

よく検索されるキーワード: [質問回答XXXXさんへ] [CreateObject] [VBA] [JRA競馬オッズ]

XXXXさんへ VBS IE操作で alt="ログイン"のボタンを探して押す方法

>最近VBSを勉強し始めた初心者です。
>SONETブログのログインボタンを押す方法がわからず、悪戦苦闘しています。
>http://blog.so-net.ne.jp/ 
>どのようにしたらボタンを押す事ができるのか教えていただけたら幸いです。

http://blog.so-net.ne.jp/ の ソースをみると、

<span class="user0">ようこそ</span><span class="user1">ゲスト</span><span class="user2">さん</span>
<a href="javaScript:login_url();">
<img src="/_common/img/header/login_sts_login.gif" alt="ログイン" />
</a>

となっているので、
.getElementsByTagName("A")でaタグを集めて、
ログインの文字を .OuterHTMLから探して
.Clickでクリックしてみます。

    'IEのオブジェクトを作成する
    Set objIE = CreateObject("InternetExplorer.application")
    objIE.Top = 100
    objIE.Left = 100
    objIE.Width = 1024

    objIE.Visible = True

    'ページを開く(.Navigateで表示する。)
    objIE.Navigate "http://blog.so-net.ne.jp/"
    Wscript.Sleep 1000   '1000で1秒

    '読み込み完了となるまで、ループする。
    While objIE.ReadyState <> 4 Or objIE.Busy  'READYSTATE_COMPLETE = 4
        Wscript.Sleep 100   '0.1秒待つ、1000で1秒
    Wend
    Wscript.Sleep 1000   '1秒

    'リンクを探す
    'ログイン ボタンを探して押す
    '<a href="javaScript:login_url();"><img src="/_common/img/header/login_sts_login.gif" alt="ログイン" /></a>
    'Aのタグを集める .getElementsByTagName("A")を使用
    Set objA = objIE.Document.getElementsByTagName("A")

    'ループで頭からhtmlが alt=ログイン を探す
    For n = 0 To objA.Length - 1
        '※ HTMLのalt=ログインを探したいので、.InnerTextでもなく.Valueでもなく .OuterHTMLを使用
        If Instr(objA(n).OuterHTML,"ログイン") > 0 Then  'HTML文字列の中から見つけたら
            objA(n).Click  '見つけたINPUTタグのオブジェクトをクリック
            WScript.Sleep  1000  '1秒待つ 1000で1秒
            Exit For
        End If
    Next
    'HTMLから探すから全て .OuterHTMLを使用してもいいかなぁ(ほかの時も、いつもOuterHTMLでも)

    Set objINPUT = Nothing  'オブジェクト変数解放

    '読み込み完了となるまで、ループする。
    While objIE.ReadyState <> 4 Or objIE.Busy  'READYSTATE_COMPLETE = 4
        Wscript.Sleep 100   '1000で1秒
    Wend
    Wscript.Sleep 1000   '1000で1秒

    'この先のページで、IDとパスワードをセットする。セット後またログインを押すんだけど・・・

何かの参考となれば・・・

Ken3 ホームページ 目次

分類:HPを大きく分けると4つの柱(分類)です。

  1. [VBA・マクロ プログラミング]の解説
    当店の人気はVBA系のCreateObject("XXXXXX.application")で他のアプリケーションを操作するサンプルが人気です
  2. [プログラマーの愚痴]では、あまり見せたくない三流プログラマーの内面かな。
    三流君を踏み台にする
  3. [古いクラシック ASP(Active Server Pages)]の解説。
  4. [元コンビニ店長時代の話]が弟に巻き込まれ、失敗した脱サラ、畑違い?の仕事で失敗。
主に上記4つの分類でHP作成やメルマガの発行を行ってます。
※更新頻度が落ちていて情報の鮮度が悪いです。



本当に三流なんです(笑):たまにスゴイですねなんて言われることもありますが、
真実は→ [三流君の真実は...] ←を初めに見てくださるとわかると思います。
(からくりは、成功例↑しか載せてなくて ヒドイ失敗例はお蔵入り迷宮入りが多かったりします)