タグ内のタグにアクセスする

タグ内のタグにアクセスする


obj = IE.document.getElementByIdなどでオブジェクトを取得
obj= obj.getElementsByTagName

タグの中にあるタグの情報にアクセスする

HTMLのタグは、タグの中にタグを記述することができます。例えば以下のような構造だとします。[Webページはこちら]

<div id="MainText">
 <p>Hello Boys</p>
 <p>And how's going Girls</p>
 <p>My name is Andy. Nice to meet you.</p>
</div>

上記はタグの中にタグがある「入れ子」という構造になっています。getElementsByTagNameでpを取得することもできますが、
まずはdiv(MainText)から取得して、その子であるpを取得する手法を説明します。

IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate("http://canal22.org/sample0016/")
REPEAT
  SLEEP(0.1)
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
NEXT

親子のタグが複数ある場合でも大丈夫

最初から親のタグとその中にある子タグが分かっている場合は、範囲を限定しながら取得することができます

先ほどのサンプルでは、アクセスしたページの最初のdiv要素しか取得していません。
全てのdivタグの中にあるpを取得するプログラムは下記のようになります。

この投稿の続きを読む »

タグ

2013年2月24日 | コメントは受け付けていません。 |

カテゴリー:UWSCとInternetExplorer

指定したidの中を変更する

指定したidの中を変更する


obj = IE.document.getElementById(ID名)
obj.innerText = 新しいテキスト
obj.innerHTML = 新しいHTML

指定した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("res2")
objId.innerText = "お金はただのお金です"
PRINT "res2:日本語に変更します"
objId = IE.document.getElementById("res3")
objId.innerHTML = "<font color=red><strong><em>" + objId.innerText + "</em></strong></font>"
PRINT "res3:装飾します"

同名IDが複数ある場合は

上記のWebページではid=”fruit”と指定されている箇所が複数あります。
この場合にgetElementById(“fruit”)で指定したオブジェクトを変更するとどうなるでしょうか
スクリプトは以下のようになります。

この投稿の続きを読む »

タグ

2013年2月4日 | コメントは受け付けていません。 |

カテゴリー:UWSCとInternetExplorer

指定したidの中を取得する

指定したidの中を取得する


obj = IE.document.getElementById(ID名)
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が無い点に注意です。

この投稿の続きを読む »

タグ

2013年1月30日 | コメントは受け付けていません。 |

カテゴリー:UWSCとInternetExplorer

このページの先頭へ