指定したidの中を取得する
指定したidの中を取得する
obj = IE.document.getElementById(ID名)
obj.innerText
obj.innerHTML
obj.innerText
obj.innerHTML
指定したidの中を取得する
例えば以下の様な構造のWebページがあったとします。idを指定されたいくつかのタグで構成されています。
<p id="res1">The Capital is in Tokyo</p> <p id="res2">Gold is just a Gold</p> <p id="res3">You are fine!</p> <ul id="fruit"> <li>Banana</li> <li>Fig</li> <li>Apple</li> </ul> <ul id="fruit"> <li>Kaki</li> <li>Lemon</li> <li>Cherry</li> </ul>
getElementByIdでIDを指定することで該当のオブジェクトを取得できますので、それに対してinnerTextやinnerHTMLを実行することでIDの中が取得できます。
IE = CREATEOLEOBJ("InternetExplorer.Application") IE.visible = True IE.navigate("http://canal22.org/sample0014/") REPEAT SLEEP(0.1) UNTIL !IE.busy AND IE.readyState = 4 objId = IE.document.getElementById("res1") PRINT "res1:" + objId.innerText objId = IE.document.getElementById("res2") PRINT "res2:" + objId.innerText objId = IE.document.getElementById("res3") PRINT "res3:" + objId.innerText
同名IDが複数ある場合は
上記のWebページではid=”fruit”と指定されている箇所が複数あります。
idは1ページに内に1つ(一意)であることが望ましいため、理想的な状況ではありませんが、
この場合にgetElementById(“fruit”)を指定するとどうなるでしょうか。
スクリプトは以下のようになります。
ちなみにgetElementByIdは単数取得を前提としており、複数取得できるgetElementsByTagNameと異なり、複数形のsが無い点に注意です。