質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

Q&A

0回答

3564閲覧

VBSCRIPTでIE操作をした際にDOMが更新されない

looongstroke

総合スコア6

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

0グッド

0クリップ

投稿2017/04/27 07:17

###前提・実現したいこと
VBSCRIPTにてIE操作をして目的のサイト(URL)へ到達したい

###発生している問題・エラーメッセージ
最初にログイン画面にてアカウント情報を入力しログインボタンをクリックします。その後画面遷移が行われるのですが、VBSCRIPTのIEのオブジェクトではDOM情報が更新されていない。

###該当のソースコード
Dim ie
Set ie = CreateObject("InternetExplorer.Application")
ie.Navigate "http://hogehoge.com/login.do"
WScript.Sleep 5000
ie.Visible = True
WScript.Sleep 100
Dim elms
set elms = ie.document.getElementsByName("userid")
elms(0).Value = "abcde"
set elms = ie.document.getElementsByName("password")
elms(0).Value = "ABCDE"
set elms = ie.document.getElementsByName("login")
elms(0).click()
WScript.Sleep 5000
Dim i
For i = 0 To ie.Document.Links.Length - 1
MsgBox (ie.Document.Links(i).Href)
If ie.Document.Links(i).Href = "next.do?id=45" then
ie.Document.Links(i).Click()
Exit For
End If
Next
set ie = Nothing

###試したこと
課題に対してアプローチしたことを記載してください
LinkをFor文で回して該当のHrefが見つかるところをクリック操作しようとしてますが、反応が無いため、For文内にMsgBoxでダイアログを表示させようとしましたが反応なし。
そのため、同じFor文を
For i = 0 To ie.Document.getElementsByTagName("input").Length - 1
MsgBox (ie.Document.getElementsByTagName("input")(i).name)
Next
としてMsgBox出力で確認したところ、ログイン前のDOMの情報が表示されました。よって、DOM情報が更新されていないことになります。
MsgBox表示時には画面遷移自体は行われていることを確認してます。
(Sleepで長めの5秒待ちにしてるので…)

###補足情報(言語/FW/ツール等のバージョンなど)
Windows7-32bit
IE11

関連があるか分かりませんが、補足の症状としては、
ie.Visible = True

WScript.Sleep 5000
の前に持っていくと、ログイン画面のDOM情報すら取れなくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問