コスパ重視で生きたい人生だった

なるべく楽して生きて行きたい30代サラリーマンのブログ

VBSでIEを自動操作する際にhtmlの要素をgetするときの注意点。

f:id:dett0826:20120404014925j:plain

どうも。dettです。
前にも同じところで躓いた記憶があるので、自分用メモ。

VBSでIEを自動操作するとき、その要素のIDやname、Classなんかで要素を特定します。
が、それぞれ特定の仕方に若干の癖がありました。

IDでhmtlの要素を指定するとき

IDは一つのHTMLの中で一意である必要があるので、IDを指定することで要素も一意に決まる。
したがって以下のコード。

>

ie.Document.getElementById("IDに指定されている値").Value

Classでhmtlの要素を指定するとき

ClassはIDと違って一つのHTMLの中でも複数回使用可能。
そのため、何番目のClassかをカッコで指定してやる必要あり。
また「getElementsByClass」ではなく「getElementsByClassName」である点にも注意。

>

ie.Document.getElementsByClassName("Classに指定されている値")(0).Value

Nameでhmtlの要素を指定するとき

Formに値を入力するときはname指定がいいかもしれない。
ただし、同じnameを複数使用できるので何番目のnameかを指定する必要あり。
また、複数使用できることからgetElementsByNameとElementsが複数形になっている点に注意。

>

ie.Document.getElementsByName("session[password]")(0).Value