IEの操作について その3?

解決


Reach  2006-11-07 03:16:14  No: 97115

度々ご面倒お掛け、申し訳ありません。
環境ですが、VB6(sp6) Win XP PRO IE6 です。
JRA HP から競走馬登録/抹消一覧を開きデータをコピー保存するものです。
(URL  http://jra.jp/sitemap/index.html)
最終的に該当ページを開くことが出来ません。コードは以下のとおりです。
    Set objElement = objIE.Document.getElementsByTagName("INPUT")
    For Each objTarget In objElement
        If LCase(objTarget.Type) = "submit" Then
            objTarget.Click
            Exit For
        End If
    Next
HTMLソースは
<TR>
<TD>
<FORM TARGET="_top" ACTION="/JRADB/accessV.html" METHOD="POST">
<INPUT TYPE="HIDDEN" name="CNAME" value="px15udjH1301026743929/06">
<INPUT TYPE="SUBMIT" VALUE="2006年10月26日登録"></TD><TD>
</FORM>
2006年10月26日登録分</TD><TD>(89頭)</TD>
</TR>
1行目の"HIDDEN"は確認できるのですが2行目の"SUBMIT"が検索できません。INPUT行をLENGTHにて確認しましたが"1"で検索できないことが分りました。
"HIDDEN"が関係しているのか?、いやコードが間違っているのでと思います。
よろしくご教授方お願いいたします。


ヤマ@文系  2006-11-08 21:03:16  No: 97116

そのページのソースコードを見たのですが
iframeになっています。
よってフレームにアクセスしてやらないとダメです。

テストしたコード

    Dim iDoc As HTMLDocument
    Dim Frame As HTMLDocument

    Dim Element

    Set iDoc = WebBrowser1.document
    Set Frame = iDoc.frames(0).document

    For Each Element In Frame.All.tags("INPUT")
        Debug.Print Element.Value
        Debug.Print Element.Type

        If Element.Type = "submit" And InStr(1, Element.Value, "登録") > 0 Then
            Element.Click
            Exit For
        End If

    Next

    Set iDoc = Nothing
    Set Frame = Nothing


Reach  2006-11-09 00:11:14  No: 97117

ヤマ@文系様
  ご多忙中、色々お世話になっております。
お蔭様で当該ページを開くことが出来ました。感謝、感謝です。
iframeとは気づきませんでした。iframeとは何かこれから勉強します。
  魔界の仮面弁士様にももっと努力するよすご指導頂いております。
本当に私にとって難題も皆様方のご指導ご協力により前に進む事が出来ております。感謝に耐えません。今後も何卒よろしくお願いいたします。(V_@)


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加