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

Понимаю что задачка тривиальная, но пока мало знаком с объектной моделью 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
Как сохранить текущую страницу IE на диск.
    #34735583
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Объектная модель описана в MSDN.
Можно еще запустить word или excel, запустить там VBA, в references добавить Microsoft HTML Object library (это DOM) и Microsoft Internet Controls (это сам IE), нажать F2 и смотреть...

По поводу сохранения копай в сторону objIE.ExecWB OLECMDID_SAVEAS
...
Рейтинг: 0 / 0
Как сохранить текущую страницу IE на диск.
    #34735653
roland76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Как сохранить текущую страницу IE на диск.
    #34735670
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему вы используете IE, а не например MSXMLHttp или просто wget? Вам надо скрипты обрабатывать?
...
Рейтинг: 0 / 0
Как сохранить текущую страницу IE на диск.
    #34735690
roland76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beluginА почему вы используете IE, а не например MSXMLHttp или просто wget? Вам надо скрипты обрабатывать?
Мне нужно заполнять определенные поля на форме, сабмитить форму и сохранять полученный результат. При помощи компонент упомянутых вами, это возможно?
...
Рейтинг: 0 / 0
Как сохранить текущую страницу IE на диск.
    #34735700
roland76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проблему пока решил следующим образом:

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


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