VBSでIEを自動操作する際にhtmlの要素をgetするときの注意点。
どうも。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