動的html?の値取得について
未読分:2件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#2 2019年3月2日(土)04時46分 From: vbavba | 返事 削除 変更 |
Loop Until じゃなくてfor earch でまわしたほうがいいんじゃない? > 下記のようなコードを作成したのですが・・・(パクリばかりですが) > getElementsByClassName("state2")(0)で値取得を試みているのですが > うまく取得できず、LOOP処理が抜けられないことがあります。 > ※値取得出来る場合と出来ない場合があります。 > 出来ない場合はLOOPから抜けられません。 > どうにかして、安定してgetElementsByClassName("state2")(0)の値を取得したいのですが、うまくいきません。 > 何か良い方法がございましたら、ご教示頂けませんでしょうか。 > 本当に困っているので宜しくお願いします。 > ※ちなみにIEのバージョンは11です。 > > Dim st As String > Dim objIE As Object > > Set objIE = CreateObject("InternetExplorer.application") > > objIE.Visible = True > > objIE.Navigate "http://k2k.sagawa-exp.co.jp/p/sagawa/web/okurijoinput.jsp" > > Do While objIE.Busy = True Or objIE.readyState <> 4 > DoEvents > Loop > > > objIE.document.forms(0).Item("main:no1").Value = Cells(1, 1) > > objIE.document.forms(0).Item("main:toiStart").Click > > > Do While objIE.Busy = True Or objIE.readyState <> 4 > DoEvents > Loop > > > Do > DoEvents > Loop Until (TypeName(objIE.document.getElementsByClassName("state2")(0)) <> "Nothing") > > > st = objIE.document.getElementsByClassName("state2")(0).innerText > > MsgBox st > > objIE.Quit > Set objIE = Nothing > > MsgBox "完了" |
Message#1 2018年5月23日(水)20時41分 From: こばこば | 返事 削除 変更 |
下記のようなコードを作成したのですが・・・(パクリばかりですが) getElementsByClassName("state2")(0)で値取得を試みているのですが うまく取得できず、LOOP処理が抜けられないことがあります。 ※値取得出来る場合と出来ない場合があります。 出来ない場合はLOOPから抜けられません。 どうにかして、安定してgetElementsByClassName("state2")(0)の値を取得したいのですが、うまくいきません。 何か良い方法がございましたら、ご教示頂けませんでしょうか。 本当に困っているので宜しくお願いします。 ※ちなみにIEのバージョンは11です。 Dim st As String Dim objIE As Object Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://k2k.sagawa-exp.co.jp/p/sagawa/web/okurijoinput.jsp" Do While objIE.Busy = True Or objIE.readyState <> 4 DoEvents Loop objIE.document.forms(0).Item("main:no1").Value = Cells(1, 1) objIE.document.forms(0).Item("main:toiStart").Click Do While objIE.Busy = True Or objIE.readyState <> 4 DoEvents Loop Do DoEvents Loop Until (TypeName(objIE.document.getElementsByClassName("state2")(0)) <> "Nothing") st = objIE.document.getElementsByClassName("state2")(0).innerText MsgBox st objIE.Quit Set objIE = Nothing MsgBox "完了" |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降