MacroCat@Siro - ExcelVBA・PHP・フリーランス

ExcelVBA、WEBスクレイピング、その他技術に関して書いていきます。

IE操作メモ② - IEから各要素を取得する方法

読者になる/フォローする

IE操作時の開発メモ

f:id:sirosiro346:20171004002040j:plain

コチラの記事は、ブログ管理人の開発メモです。
開発する際や、再度WEBから検索する手間を省くため、ソース + 一言コメントで記事を書いています。

IEから各要素の値取得方法

        Dim objIE As InternetExplorer
        Dim objElCol As IHTMLElementCollection
        Dim htmlDoc As HTMLDocument

        'IEを開く
      Dim objIE As InternetExplorer 'IEオブジェクトを準備
      Set objIE = CreateObject("Internetexplorer.Application") '新しいIEオブジェクトを作成してセット
      objIE.Visible = True 'True:IEを表示 , False:IEを非表示
        
    'URLを開く
        objIE.navigate strURL("http://www.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")

        'ページのデータを取得するために、ページが表示されるまで待つ
        Call SysContentCls.DisplayWait(objIE) 

        'objIEで読み込まれているHTMLドキュメントをセット
        Set htmlDoc = objIE.document

        '要素取得
        Set objElCol = htmlDoc.getElementsByTagName("a") 'タグ aやliやdivなど
        Set objElCol = htmlDoc.getElementsByClassName("txt-10-bottom") 'class名
        Set objElCol = htmlDoc.getElementById("searchBtn") 'id名

基本はgetElement(s)ByXXXXXXXXで取得だけど、
Idの場合のみ「getElement」でそれ以外が「getElements」に注意が必要
classは複数同じ場合あるけど、Idは基本一意だからElementになるようですね。

ではではーノシ