- 題名: VBSでIEを操作したい
- 日時: 2011/04/09 18:25:14
- ID: 28426
- この記事の返信元:
- (なし)
- この記事への返信:
- [28427] Re[1]: VBSでIEを操作したい2011/04/09 22:41:04
- ツリーを表示
2011/04/09(Sat) 22:42:43 編集(投稿者)
■No28426に返信(きくさんの記事)
innerHTMLプロパティは当該タグ内のHTMLを参照します。当該タグを含める場合にはo
uterHTMLプロパティを使用するとよいかと思います。
IE8の環境で試してみましたが、IE8で保存する場合には以下のタグが追加されたり、
変更されたりする模様で、Document.all.tags("HTML")(0)で、IE8で保存したときと
同一の出力を得ることはできませんでした。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<META name=GENERATOR content="MSHTML 8.00.7601.17537">
<META content="text/html; charset=shift_jis" http-equiv=Content-Type>
以下のコードで試してみました。
document.documentElementはDocument.all.tags("HTML")(0)と同じです。
dim ie : set ie = createobject("internetexplorer.application")
call ie.navigate("http://www.google.co.jp/")
const readystate_complete = 4
do
if not ie.busy then
if (ie.readystate = readystate_complete) then
exit do
end if
end if
call wscript.sleep(100)
loop
call wscript.stdout.writeline(ie.document.documentElement.outerHTML)
IE8で保存したときと同一の出力を得るにはSaveAsコマンドを実行する必要があるの
ではないかと思います。しかし、SaveAsコマンドを実行するやり方だと保存ダイアロ
グを回避することができませんでした。
const OLECMDID_SAVEAS = 4
const OLECMDEXECOPT_PROMPTUSER = 1
call ie.execwb(OLECMDID_SAVEAS , OLECMDEXECOPT_PROMPTUSER)
うーむ、全く別のやり方を考える必要があるのですかね。
■No28435に返信(きくさんの記事) ブラウザのURLバーからvbsファイルへ直接ドラッグアンドドロップすることはできな いですよね。インターネットショートカットのURLファイルをvbsファイルにドラッグ アンドドロップしてリンク先を取得するということでよいですか。 ファイル名を取得できたのであれば、ファイルのテキストを読み込んでURLの部分を 切り出せばよいと思います。 URLファイルのテキストはこんな感じですので正規表現あたりで切り出すとよいので はありますまいか。 [InternetShortcut] URL=http://www.google.co.jp/
InternetExplorer.Applicationを使って、IEで任意のページを表示させることができました。
表示したページを、IEの「ファイル-->名前をつけて保存-->Webページ,HTMLのみ(*.htm;*.html)、日本語(シフトJIS)」と同じ状態で保存したいのですが、どうしたらよいのでしょうか?
innerHTMLを使うと、手動で保存した場合とファイルの中が異なります。
また、Document.all.tags("HTML")(0)を使えばよいのでしょうか?
ご存知の方アドバイスお願いいたします。
#なお、任煮のページを上記のような条件で保存できるのであれば、VBSでなくてもかまいません。