度々ご面倒、申し訳ありません。
環境ですが、VB6(sp6) Win XP PRO IE6 です。
JRA HP から 競争成績等を開きデータをコピー保存するものです。
最終的に該当ページを開くことが出来ましたが、レース毎にページを開きたいのですがレース選択ボタン(イメージボタン)を選択できません。
色々とネット等検索したのですが.....
当該ソースは
<td rowspan="2" align="center" bgcolor="#E4E4DB"><a href="#" onclick="return doAction('/JRADB/accessS.html','pw01sde00052006040301/D2');"><img src="/common/img/keiba/btn_race-number1.gif" alt="1R" width="60" height="36" border="0"></a></td>
上記文から オルタネートテキストの"1R"等を検索指定は可能でしょうか又はa hrefをクリックする方法をよろしくお願いします。
> 当該ソースは
そのボタンの位置が固定的なら、
該当テーブル.rows(番号).cells(番号).firstChild.click
のように書けるかも。
> オルタネートテキストの"1R"等を検索指定は可能でしょうか
alt 属性の値が重複しない(ページ内で一意)という事でしょうか。
であれば、GetElementsByTagName メソッドの結果を For Each で列挙して、
個々の要素の alt プロパティを確認していけば良いかと。
> a hrefをクリックする方法を
a 要素の click メソッドとか。
早々のご回答有難うござました。
alt 属性の値が重複しない(ページ内で一意)です。
コードが正しいかどうか自信ありませんが以下のとおりチェックしました。
For Each objITEM In objIE.document.All
If objITEM.GetElementsByTagName = "ALT" Then
If objITEM.Value = "1R" Then
objITEM.Click
End If
End If
Next
結果はエラー91 変数未設定となりました。 .firstChild.clickも使用例等調べてみます。(1〜2日)不明な場合はよろしくご教授方お願いします。
> コードが正しいかどうか自信ありませんが
行き当たりばったりのコーディングに見えてしまうのは、気のせいでしょうか。(^^;
getElementsByTagName の方法で実装するのであれば、イメージ的には
このような感じになるかと思います。
# 掲示板上に直書きしたコードなので、動作のほどは保証しませんけど…。(^_^;)
'文書中の IMG 要素を列挙する
For Each imgElement In IE.document.getElementsByTagName("IMG")
'alt属性が '1R' であるものを探す
If imgElement.alt = "1R" Then
'IMGを囲っている親要素(ここではA要素)を取得する
Set anchorElement = imgElement.parentElement
'取得したA要素のclickメソッドを実行する
anchorElement.click
Exit For
End If
Next
魔界の仮面弁士様
早々のご回答有難うございました。本来なら昨晩のうちに実施すればもっと早く返信できたのですが本日早朝より勤務のため取りやめました。
帰宅後debugした結果一発でokとなりました。さすが魔界の仮面弁士様です。
一応、休憩時間にnetでgetElementsByTagNameを調べたら色々な記事があり、参考になりました。また、唯一の収穫はdomのmethod一覧を発見したことです。未熟な考えでhtmlのみでの検索では発見できませんでした。
先ずは、報告がてら御礼申し上げます。
今後ともよろしくお願いします。有難うございました。
ps. チェックマークのみです。
> 唯一の収穫は
色々な記事があったという割には、“唯一”の収穫でしたか…。
> domのmethod一覧を発見したことです。
VB6 の参照設定に MSHTML.TLB を含めた上で、F2キーで表示される
オブジェクトブラウザを眺めてみると、もう少し幸せになれるかも。
# オブジェクトブラウザだけでは、個々のメソッドの意味や使い方までは
# 分かりませんので、SDK の内容を合わせ読む必要があるでしょうけれども。
# オブジェクトブラウザだけでは、個々のメソッドの意味や使い方までは
# 分かりませんので、SDK の内容を合わせ読む必要があるでしょうけれども。
ご指摘有難うございます。勉強させていただきます。
ツイート | ![]() |