2

目標: Web ページにログインし、後で解析できるように html をファイルに保存します。

ページ上の html は、ユーザーのリストと、ユーザーがログインおよびオフしたときのリストです。

Web ページを読み込むと、JavaScript ボックスがポップアップ表示され、ログイン情報を求められます。

これに SendKeys を入力することはできますが、ウィンドウをポップアップさせずにこれを実行したいのです

Set IE = CreateObject("InternetExplorer.Application") 
set WshShell = CreateObject("WScript.Shell")  

IE.Visible = False ' doesn't set IE page as invisible?????

IE.Navigate "https://mysite/site/console/client-log.jsp"
      'how do i fill in the box ???
4

1 に答える 1

3

Fiddlerのようなものを使用して、実際のログインを行うリクエストを識別し、その情報をXMLHttpRequestで使用することをお勧めします。

url      = "..."
filename = "..."

Set req = CreateObject("MSXML2.XMLHTTP.6.0")
req.open "POST", url, False
req.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
req.send "field1=foo&field2=bar&..."

Set fso = CreateObject("Scripting.FileSystemObject")
fso.OpenTextFile(filename, 2, True).WriteLine req.responseText

応答がUTF-8でエンコードされている場合は、コンテンツを保存するためにADODB.Streamオブジェクトを使用する必要がある場合があります。

Set stream = CreateObject("ADODB.Stream")
stream.Open
stream.Type     = 2 'text
stream.Position = 0
stream.Charset  = "utf-8"
stream.WriteText req.responseText
stream.SaveToFile filename, 2
stream.Close
于 2013-02-17T12:09:00.187 に答える