• 締切済み

VBscriptでIEスクリプト動かない

VBScript初心者です。HTMLに書かれた文字を取ってきて環境変数に入れるスクリプトを作っているのですが、うまく動きません。かなりデバッグも頑張りましたしレファレンスも見ましたが解決に至らず。ご教示お願い致します。 Dim ie Set ie = CreateObject("InternetExplorer.Application") ie.visible = True Dim wshShell Dim wshUserEnv Set wshShell = CreateObject("WScript.Shell") Set wshUserEnv = wshShell.Environment("User") Main Public Function Main() Dim hirake Dim nakami Dim taagetto Dim kekka hirake = "etqw.dip.jp" ie.Navigate hirake Do Until ie.Busy = False Or ie.readystate <= 3 WScript.Sleep 100 Loop WScript.Sleep 100 nakami = ie.Document.getElementsByClassName("status-table") Set taagetto = nakami(2).innertxt Set kekka = Mid(taagetto,InStr(taagetto,"Password:") + 1) wshUserEnv.Item("_KOREDAYO") = kekka ie.Quit Set ie = Nothing Set hirake = Nothing Set nakami = Nothing Set taagetto = Nothing Set kekka = Nothing End Function

みんなの回答

  • Prome_Lin
  • ベストアンサー率42% (201/470)
回答No.2

私、普段は「VBScript」で、ファイルやフォルダ、「csv」ファイルを含む、テキストファイルや、エクセルの操作をしているだけですので、質問者のように「ie」の操作には詳しくなく、申し訳ございません。 なお、サイトは開くことができました。 「Windows10」搭載の「Edge」ですと、右クリックからの「要素の検査」で、「InternetExplorer」より、確実な「要素の検査」が行えるので、ちょっと、調べるぐらいです。 お勉強、がんばってください。 お力になれず、申し訳ございません。

roflsunriz
質問者

お礼

vbscriptでなくても、同じことができるスクリプト/プログラム/オンラインサービスがあれば良いのですが… ありがとうございます。

  • Prome_Lin
  • ベストアンサー率42% (201/470)
回答No.1

質問者のサイトが開かないので、調べられませんが、私の方で、 Set ie = CreateObject("InternetExplorer.Application") ie.visible = True Set ws = CreateObject("WScript.Shell") Set ue = ws.Environment("User") ie.Navigate "https://www.google.co.jp/" Do While ie.Busy = True Or ie.readyState <> 4 WScript.Sleep(100) Loop na = ie.Document.getElementsByClassName("gsfi lst-d-f") MsgBox(na) としたところ、最後の「MsgBox(na)」で [object HTML Collection] と表示されました。 したがって、「na」(質問者の「nakami」)は、「na()」の形は取らない、すなわち、「ie.Document.getElementsByClassName()」では、複数の値が返ってこないのではないでしょうか? もし、質問者の調べようとしているサイトで、「nakami」の中身がどうなっているのか調べられるようでしたら、「MsgBox()」で調べてみてください。 For i = 0 to nakami.Count - 1 MsgBox(nakami(i)) Next i あまり参考になる回答でなく、申し訳ございません。

roflsunriz
質問者

お礼

申し訳ない。説明が足りませんでした。 こちらもMsgboxで~ByClassNameの内容を出力させると、同じ内容が表示されます。 object HTMLCollectionってどう扱えば良いのでしょうか? nakami.selectedIndex = 2 Set kekka = Mid(nakami.selectedIndex,InStr(nakami.selectedIndex,"Password:") + 1)としても同じでした nakamiのオブジェクトがありません(Object Required)とエラーが表示されます。 ちなみに、etqw.dip.jpはセキュリティエラーが表示されますが IBM Knowledge Center - Internet Explorer での「信頼された証明機関」警告の回避 - https://www.ibm.com/support/knowledgecenter/ja/SSNE44_5.1.1/com.ibm.tpc_V511.doc/fqz0_t_tbs_trusted_certificate.html で証明書をインストールしてやると、回避できます(インストールしなくても表示だけならできますが)。

roflsunriz
質問者

補足

はい、ノードリスト(Nodelist)として活きた(live)要素群として取得されるらしいのです が、もう100回くらいこのメッセージを自分で表示させてきましたが、何をすれば良いのかまるで分からないのです。 どう扱えば必要なデータを取り出せるのが教えてほしいのです。

関連するQ&A