idもnameも指定されていない要素を取得したい時はどうしよう?
AutoITを使用してIEで要素を特定する際に、idもnameも指定されていない要素の場合困りますよね。
今回は、classとタグ名を指定して要素を特定する方法を紹介します。
スクリプトの説明
#includeClass名を指定して要素を取得する以外の部分の説明は省略します。
getElementsByClassNameは自作関数です。$tNameはタグ名。$cNameはClass名を指定します。
$oIE.document.GetElementsByTagName($tName)で、指定したタグの要素を全て取得します。
$class_value = $tag.GetAttribute(“class”)で、該当タグのClass名を取得しています。
If 文でClass名と一致した要素を返しています。
$search=getElementsByClassName(“input”,”gLFyf gsfi”)でClass名「gLFyf gsfi」のinput要素を指定して、要素のオブジェクトを返しています。
このオブジェクトを使って、_IEAction($search,”click”)のようにクリックなどの操作をしています。
動作の様子
例として、Googleで検索する処理を自動化しています。
まとめ
AutoITでClass名を指定して要素を取得、操作する方法を紹介しました。最近は、idやnameが指定されていない要素も多いことから、Class名を指定する必要がある場面も多くなると思います。
Webを使った全ての動作を自動化できることを目指して、今後も様々な要素技術を紹介していきます。
コメント