タグ内のタグにアクセスする
obj = IE.document.getElementByIdなどでオブジェクトを取得
obj= obj.getElementsByTagName
タグの中にあるタグの情報にアクセスする
HTMLのタグは、タグの中にタグを記述することができます。例えば以下のような構造だとします。[Webページはこちら]
<p>And how's going Girls</p> |
<p>My name is Andy. Nice to meet you.</p> |
上記はタグの中にタグがある「入れ子」という構造になっています。getElementsByTagNameでpを取得することもできますが、
まずはdiv(MainText)から取得して、その子であるpを取得する手法を説明します。
IE = CREATEOLEOBJ( "InternetExplorer.Application" ) |
IE.navigate( "http://canal22.org/sample0016/" ) |
UNTIL !IE.busy AND IE.readyState = 4 |
obj = IE.document.getElementByID( "MainText" ) |
objP = obj.getElementsByTagName( "p" ) |
FOR A = 0 TO (objP.length - 1) |
PRINT (A+1) + "番目のp:" + objP.item(A).innerText |
親子のタグが複数ある場合でも大丈夫
最初から親のタグとその中にある子タグが分かっている場合は、範囲を限定しながら取得することができます
先ほどのサンプルでは、アクセスしたページの最初のdiv要素しか取得していません。
全てのdivタグの中にあるpを取得するプログラムは下記のようになります。
IE = CREATEOLEOBJ( "InternetExplorer.Application" ) |
IE.navigate( "http://canal22.org/sample0016/" ) |
UNTIL !IE.busy AND IE.readyState = 4 |
obj = IE.document.getElementsByTagName( "div" ) |
FOR A = 0 TO (obj.length -1) |
objP = obj.item(A).getElementsByTagName( "p" ) |
FOR B = 0 TO (objP.length - 1) |
PRINT (A+1) + "番目のdivの" + (B+1) + "番目のp:" + objP.item(B).innerText |
親子を指定して、タグの中身を取得できました。