Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как сохранить текущую страницу IE на диск. / 8 сообщений из 8, страница 1 из 1
17.08.2007, 17:00
    #34735441
roland76
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сохранить текущую страницу IE на диск.
Добрый день.

Понимаю что задачка тривиальная, но пока мало знаком с объектной моделью IE.
Я исмпользую VBS для автоматизации работы. Передо мной стоит задача запустить IE, перейти на определенную страницу, сохранить результат в виде простого html файла на диск.

Вот код, который я сейчас использую:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Set objIE = CreateObject("InternetExplorer.Application")
    
    objIE.Visible =  1 
    objIE.Navigate "http://my_url.com"

    While objIE.Busy
        Wscript.Sleep  200 
    Wend

Следующей командой мне нужно записать результат на диск, т.е. в Internet Explorer выполнить Save As.

Вопрос: как звучит эта команда? (objIE.SaveAs пробовал, неверная)

Может попутно подскажите где скачать/почитать документацию по объектной модели IE? Был бы очень признателен.

Заранее спасибо.
...
Рейтинг: 0 / 0
17.08.2007, 17:30
    #34735583
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сохранить текущую страницу IE на диск.
Объектная модель описана в MSDN.
Можно еще запустить word или excel, запустить там VBA, в references добавить Microsoft HTML Object library (это DOM) и Microsoft Internet Controls (это сам IE), нажать F2 и смотреть...

По поводу сохранения копай в сторону objIE.ExecWB OLECMDID_SAVEAS
...
Рейтинг: 0 / 0
17.08.2007, 17:54
    #34735653
roland76
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сохранить текущую страницу IE на диск.
AntonariyОбъектная модель описана в MSDN.
Можно еще запустить word или excel, запустить там VBA, в references добавить Microsoft HTML Object library (это DOM) и Microsoft Internet Controls (это сам IE), нажать F2 и смотреть...

По поводу сохранения копай в сторону objIE.ExecWB OLECMDID_SAVEAS

Спасибо, копаю в сторону objIE.ExecWB OLECMDID_SAVEAS, но пока не удается подавить окно Save As
...
Рейтинг: 0 / 0
17.08.2007, 18:01
    #34735670
belugin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сохранить текущую страницу IE на диск.
А почему вы используете IE, а не например MSXMLHttp или просто wget? Вам надо скрипты обрабатывать?
...
Рейтинг: 0 / 0
17.08.2007, 18:05
    #34735690
roland76
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сохранить текущую страницу IE на диск.
beluginА почему вы используете IE, а не например MSXMLHttp или просто wget? Вам надо скрипты обрабатывать?
Мне нужно заполнять определенные поля на форме, сабмитить форму и сохранять полученный результат. При помощи компонент упомянутых вами, это возможно?
...
Рейтинг: 0 / 0
17.08.2007, 18:09
    #34735700
roland76
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сохранить текущую страницу IE на диск.
проблему пока решил следующим образом:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
Const sOutputFileName="c:\1.html"

    Dim objIE
    Dim frm
    
    Set objIE = CreateObject("InternetExplorer.Application")
    
    objIE.Visible =  1 
    objIE.Navigate "http://google.com"

    While objIE.Busy
        Wscript.Sleep  200 
    Wend

    Set frm = objIE.document.forms( 0 )

    rm.q.Value = "some text"
    frm.btnI.click
     
     Dim objFSO 
     Set objFSO = CreateObject("Scripting.FileSystemObject")
     if objFSO.FileExists(sOutputFileName) Then objFSO.DeleteFile sOutputFileName
     Dim objFile
     Set objFile = objFSO.CreateTextFile(sOutputFileName, bOverwrite)  
     objFile.Write objIE.Document.body.outerHTML 

     objFile.Close()  
    	
    Set objIE = Nothing
    Set objFile = Nothing
    Set objFSO = NOthing

Но как то не элегантненько получилось.

Беспокоит что не смог отключить диалог при выполнении objIE.ExecWB OLECMDID_SAVEA,2,0,0 :(
...
Рейтинг: 0 / 0
18.08.2007, 10:15
    #34736218
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сохранить текущую страницу IE на диск.
roland76
Спасибо, копаю в сторону objIE.ExecWB OLECMDID_SAVEAS, но пока не удается подавить окно Save AsВторым параметром нужно юзать OLECMDEXECOPT_DONTPROMPTUSER.
...
Рейтинг: 0 / 0
18.08.2007, 10:18
    #34736220
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сохранить текущую страницу IE на диск.
Хотя двойка это он и есть.
Тогда можно попробовать OLECMDID_SAVE и третьим параметром указать путь к файлу или папке.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как сохранить текущую страницу IE на диск. / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]