getElementsByClassNameについて

最近の書き込み件数: 今日 0件、昨日 0件
未読分:5件

最新20件 最新50件 最新100件 最新200件 200件以前
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)


Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

近田 伸矢, 植木 悠二, 上田 寛

IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。

Message#5 2017年6月4日(日)09時58分
From: NMC
返事 変更
横から失礼します。
 まず、該当ページは、<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">となっており、DOCTYPEが、HTML 5ではないので
getElementsByclassNameが使えないと思われます。
 次に、該当ページには<li class="md-addclass">しかなく
<tr>タグをいくら探してもmd-addclassは見つかりません。
 また、getAttribute("class")ではなく、getAttribute("className")とする必要があるようです。たとえば、以下では上手くいきませんか?
For Each obj In objIE.document.getElementsByTagName("li")
 If obj.getAttribute("className") = "md-addclass" Then
 Debug.Print obj.innerText
 End If
Next obj

Message#4 2017年6月3日(土)21時21分
From: uiita
返事 変更
ありがとうございます。
試しに適当なclassを入れて下記の通りやってみたのですが、取得されませんでした。
当方windows10、IE11なんですが、環境的な問題なんでしょうか

Sub test()

Dim objIE As InternetExplorer
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True

objIE.navigate "https://site1.sbisec.co.jp/ETGate/"

'//ここにwaitサブルーチン

For Each obj In objIE.document.getElementsByTagName("tr")
If obj.getAttribute("class") = "md-addclass" Then
Debug.Print obj.innerText
End If
Next obj
End Sub


> 追記です。
> 特定のclassだけ抜き出したい場合は、以下のようにすれば大丈夫です。
>
> For Each obj In IE.document.getElementsByTagName("tr")
>   If obj.getAttribute("class") = "***" Then
>     Debug.Print obj.innerText
>   End If
> Next obj
>
> ※***→クラス名

Message#3 2017年6月2日(金)14時04分
From: miller
返事 変更
追記です。
特定のclassだけ抜き出したい場合は、以下のようにすれば大丈夫です。

For Each obj In IE.document.getElementsByTagName("tr")
  If obj.getAttribute("class") = "***" Then
    Debug.Print obj.innerText
  End If
Next obj

※***→クラス名

Message#2 2017年6月2日(金)13時55分
From: miller
返事 変更
こんにちは。
簡単にサンプル書いてみました。
以下は<tr>タグのinnertextを全て抜き出すプログラムです。
シートにひとまず全て抜き出し、不要なデータはあとから消す方法ではいかがでしょうか。

Sub test()

Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True

target_URL = "https://site1.sbisec.co.jp/ETGate/"
IE.navigate target_URL

For Each obj In IE.document.getElementsByTagName("tr")
Debug.Print obj.innerText
Next obj

End Sub

Message#1 2017年6月1日(木)21時32分
From: uiita
返事 変更
SBI証券(https://site1.sbisec.co.jp/ETGate/)からIE操作にてスクレイピングしたいと思っています。

ie.document.getElementsByClassName("***")(0).innerText
としても"オブジェクトは、このプロパティをサポートしていません"となってしまいます。

他のサイトからは取得できるんですが、SBI証券に関しては何をやってもダメでした。
どなたか解決できる方よろしくお願いします。

最新20件 最新50件 最新100件 最新200件 200件以前
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降

VBAのIE制御についてのQ&A掲示板

↑エクセルVBAのIE(InternetExplorer)操作で分からない事があればこちらの掲示板よりご質問ください^^

ExcelのVBA初心者入門

↑こちらはExcelのVBAをマスターできるよう初心者向けのエクセルVBA入門コンテンツになります^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

VBAでIE(InternetExplorer)制御の準備

エクセルVBAでIE制御の応用編

こちらでは、エクセルVBAで実際に作成したIE(InternetExplorer)制御ツールをまとめています。自動ログインや情報収集など具体的に解説しています。IE(InternetExplorer)制御をされる方は参考にしてください。

【ダウンロード】IE操作に便利なツール

こちらでは、これまでに紹介したIE(InternetExplorer)操作で便利な機能をツール化しています。無償でダウンロードできますので、目的に合わせたご利用ください。

スポンサー リンク

IEオブジェクトのメソッド・プロパティ

こちらでは、IE(InternetExplorer)オブジェクトのメソッド・プロパティをまとめています。

IE操作に利用されているVBA関数

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたVBA関数をまとめています。

スポンサー リンク

IE操作に利用されているステートメント

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたステートメントをまとめています。ExcelのVBAで基本的な部分になりますので、しっかり理解しましょう。

IE(InternetExplorer)制御のVBAコード

こちらでは、これまでに作成したIE(InternetExplorer)操作で役立つサブルーチンをまとめています。
全てをコピーする必要はありませんが、目的に合わせたサブルーチンをご利用ください。

ExcelのVBAで作成した役立つVBAコード

こちらでは、IE(InternetExplorer)制御の利用だけでなく、Excel全般で利用できるVBAコードです。エクセルVBAで役に立つものばかりですので、ご利用ください。

dmb.cgi Ver. 1.068
Copyright(C) 1997-2014, hidekik.com