今回は、InternetExplorerを操作して、子要素を取得するスクリプトを書いたので、共有します。
1.スクリプト処理構成
2.スクリプト実行方法
3.想定サイト構成
4.スクリプト詳細
5.完成コード
1.スクリプト処理構成
1)InternetExplorerのオブジェクトを作り、操作するサイトに遷移
2)検索対象の親要素を取得
3)子要素を取得
.vbsファイルを実行するだけでOKです。
一般的なサイトによくある下記コードのようなタグ構造になっているサイトを想定しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<div id="id1"> <div class="class1"> <div class="child1"> <div class="target"> <a href ="http://progfront.com/wp/">PROGFRONTIRE1</a> </div> </div> </div> <div class="class1"> <div class="child2"> <div class="target"> <a href ="http://progfront.com/wp/">PROGFRONTIRE2</a> </div> </div> </div> <div class="class1"> <div class="child2"> <div class="target"> <a href ="http://progfront.com/wp/">PROGFRONTIRE3</a> </div> </div> </div> </div> |
クラス名target
の中のhrefの内容を取得していきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
uri ="http://progfront.com/wp/" set ie = WScript.CreateObject("InternetExplorer.Application") ie.visible = true ie.navigate uri Set arg = ie.document.getElementsByClassName("class2") for i = 0 to arg.length ahref= arg(i).getElementsByTagName("a")(0).href msgbox ahref Next |
class2
というクラス名のdivタグは複数あるので、配列で格納します
1 |
Set arg = ie.document.getElementsByClassName("class2") |
配列のサイズ分for文を回して、class2というクラス名のdivタグすべてについて、処理を行います。
下記コードはa
タグを一つのみ内包しているdivタグを想定して作成しています。
1 |
ahref= arg(i).getElementsByTagName("a")(0).href |
ターゲットのdivタグ内にある1番目のa
タグを取得します。
1 |
getElementsByTagName("a")(0) |
.href
と加えることで、a
タグのhrefプロパティを取得します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
uri ="http://example.com" set ie = WScript.CreateObject("InternetExplorer.Application") ie.visible = true ie.navigate uri Set arg = ie.document.getElementsByClassName("class2") for i = 0 to arg.length ahref= arg(i).getElementsByTagName("a")(0).href msgbox ahref Next |
本日のコードは以上です。
明日も、あなたにとってなりたい自分に近づける日になりますように。