表示上ページが移動しているにも関わらず、移動後のページエレメントが読めない 削除
Message#6 2017年6月6日(火)11時17分 From: 初心者 |
NMCのメッセージ(#5)への返事 アドバイスありがとうございます。 教えていただいたコードを追加したところ、うまくいくようになりました。 ”ログインボタンによるページ移動”だけでなく、他の”URLリンクによるページ移動”も同様に正常に行くようになりました。 ページ移動の時間待ちの問題かなっと思いステップ実行で移動後のページが表示されてから、エレメントを読んでみても移動後のエレメントがget出来なかったので困っていましたが、”見えているもの=最新ウインド”ではないということなのでしょうか? 本当にありがとうございました。大変助かりました。 > プログラムをよく見ると私の指摘は全くピント外れでした。 > buttonクリックなのですね。 > そうであれば、クリック後の最新ウインドを取得する以下ではどうですか。 > > 'ここまで略 > 'ログインボタンを選択、管理一覧ページへ移動 > Call tagClick(objIE, "button", "ログイン") > 'ここでobjIEを喪失していると想像 > Sleep 2000 '十分な待機時間(例えば2秒)を確保(APIのSleep関数) > Set objIE = 最新画面 '最新のオブジェクトを取得する > If objIE Is Nothing Then MsgBox "異常発生": Exit Sub '念のため > Call ieCheck(objIE) '念のため > For Each objLink In objIE.document.Links > '以下略 > > Function 最新画面() As Object > Dim objShell As Object, n As Long > Set objShell = CreateObject("Shell.Application") > For n = objShell.Windows.Count To 1 Step -1 '最新のウインドから探す > If TypeName(objShell.Windows(n - 1).document) = "HTMLDocument" Then > Set 最新画面 = objShell.Windows(n - 1) '最新のHTMLDocumentを取得 > Exit For > End If > Next n > 'Debug.Print 最新画面.document.Title > Set objShell = Nothing > End Function |
上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。