Здравствуйте форумчане, нужна ваша помощь. Возникла идея автоматизации некоторых процессов на работе. Как примере, есть сайт, который используется для отправки смс сообщений, алгоритм следующий: 1. Пройти авторизацию 2. Выбрать отправку смс 3. Нажать кнопку, где нужно выбрать файл на ПК, в котором список номеров 4. Нажать далее 5. Заполнить поля: смс и т.д. 6. Нажать отправить.
1 и 2 пункт я решил, 4, 5, 6 в принципе тоже почти прошел. Но проблема в третьем шаге, т.к. там нужно прожать кнопку и как я понял срабатывает скрипт которые уже и делает всю работу.
Можете посоветовать книги (желательно на русском) в которых описаны процессы работы с internet explorer или сайты, где более подробно расписаны возможности VBA c DOM объектами?
Здравствуйте форумчане, нужна ваша помощь. Возникла идея автоматизации некоторых процессов на работе. Как примере, есть сайт, который используется для отправки смс сообщений, алгоритм следующий: 1. Пройти авторизацию 2. Выбрать отправку смс 3. Нажать кнопку, где нужно выбрать файл на ПК, в котором список номеров 4. Нажать далее 5. Заполнить поля: смс и т.д. 6. Нажать отправить.
1 и 2 пункт я решил, 4, 5, 6 в принципе тоже почти прошел. Но проблема в третьем шаге, т.к. там нужно прожать кнопку и как я понял срабатывает скрипт которые уже и делает всю работу.
Можете посоветовать книги (желательно на русском) в которых описаны процессы работы с internet explorer или сайты, где более подробно расписаны возможности VBA c DOM объектами?monstr_ork
Сообщение отредактировал monstr_ork - Понедельник, 09.12.2019, 16:41
' Ожидание загрузки сайта Do While IE.Busy Application.Wait DateAdd("s", 1, Now) Loop IE.Navigate "Тут ссылка , где происходит выбор списка контактов"
' Прожимаю кнопку, где появляется окно (судя по всем windows), где я выбираю файл со списком контактов Set button_sms = IE.document.getElementsByTagName("input") button_sms(3).Click ' А дальше я не знаю как поступить сделать =(, нужна помощь...
End Sub
[/vba]
На данный момент проблема состоит в том, чтобы управлять диалоговым окном, в котором происходит выбор файла. Подскажите с кодом пожалуйста или с направлением где можно почитать?
Не большое дополнение, я смог решить частично пункт 3, прожать кнопку, которое вызывает форму где я должен выбрать файл с номерами.
[vba]
Код
Sub test_IE() Dim IE As Object login = "" ' pass = "" '
Set IE = CreateObject("InternetExplorer.Application") ' çàãðóçêà IE IE.Navigate "ссылка на сайт" ' IE.Visible = True ' Ожидание загрузки сайта
Do While IE.Busy Application.Wait DateAdd("s", 2, Now) Loop
' Прохожу еще одно окно сертификата On Error Resume Next IE.document.getElementsByName("overridelink").Item.Click
' Ожидание загрузки сайта Do While IE.Busy Application.Wait DateAdd("s", 1, Now) Loop
' Ожидание загрузки сайта Do While IE.Busy Application.Wait DateAdd("s", 1, Now) Loop IE.Navigate "Тут ссылка , где происходит выбор списка контактов"
' Прожимаю кнопку, где появляется окно (судя по всем windows), где я выбираю файл со списком контактов Set button_sms = IE.document.getElementsByTagName("input") button_sms(3).Click ' А дальше я не знаю как поступить сделать =(, нужна помощь...
End Sub
[/vba]
На данный момент проблема состоит в том, чтобы управлять диалоговым окном, в котором происходит выбор файла. Подскажите с кодом пожалуйста или с направлением где можно почитать?monstr_ork
Сообщение отредактировал monstr_ork - Понедельник, 09.12.2019, 22:21
InExSu, не могу я его у казать, т.к. он корпоративный, да и не код прошу мне написать, просто хотя бы книги или статьи где есть информация про парсинг сайтов. На данный момент у меня проблема с всплывающим окном в котором нужно выбрать файл для загрузки на сайт, и код останавливается пока не выберу файл и только потом начинает работать. Т.е. даже через SendKey не решить, т.к. до них код не доходит, можно ли как-то перехватить это окно?
InExSu, не могу я его у казать, т.к. он корпоративный, да и не код прошу мне написать, просто хотя бы книги или статьи где есть информация про парсинг сайтов. На данный момент у меня проблема с всплывающим окном в котором нужно выбрать файл для загрузки на сайт, и код останавливается пока не выберу файл и только потом начинает работать. Т.е. даже через SendKey не решить, т.к. до них код не доходит, можно ли как-то перехватить это окно?monstr_ork
передайте переменной путь к файлу со списком номеров(например через Application.FileDialog(msoFileDialogOpen)) до начала выполнения пункта 1 А в 3-м пункте подставьте значение.
передайте переменной путь к файлу со списком номеров(например через Application.FileDialog(msoFileDialogOpen)) до начала выполнения пункта 1 А в 3-м пункте подставьте значение.boa
boa, на сайте, значение value (куда можно вставить текст) появляется только после нажатия на кнопку для выбора файла. До этого значения на сайте нет. Т.е. если загрузить страницу и посмотреть поле куда вставляется пусть файла, этого значения в коде нет, а когда выберешь файл и снова посмотришь код, то поле появляется.
boa, на сайте, значение value (куда можно вставить текст) появляется только после нажатия на кнопку для выбора файла. До этого значения на сайте нет. Т.е. если загрузить страницу и посмотреть поле куда вставляется пусть файла, этого значения в коде нет, а когда выберешь файл и снова посмотришь код, то поле появляется.monstr_ork
Set IE2 = IE.Navigate("Тут ссылка , где происходит выбор списка контактов") IE2.document.getElementsByName("поле куда вводится адрес файла").Item(0).Value = "Тут ссылка на файл списка контактов" IE2.document.getElementsByName("кнопка").Item.Click
[/vba]
monstr_ork, а так? [vba]
Код
Set IE2 = IE.Navigate("Тут ссылка , где происходит выбор списка контактов") IE2.document.getElementsByName("поле куда вводится адрес файла").Item(0).Value = "Тут ссылка на файл списка контактов" IE2.document.getElementsByName("кнопка").Item.Click
boa, я так понял тут опечатка, не "IE2 =", а "IE ="? Если да, то я пробовал все одинаково, файл открывается с помощью браузера Как мне кажется нужно запустить скрипт или что-то подобное. Т.к. даже если выберу файл и потом в самой странице поменяю его на другой, сайт все равно запомнит первый выбор файла.
boa, я так понял тут опечатка, не "IE2 =", а "IE ="? Если да, то я пробовал все одинаково, файл открывается с помощью браузера Как мне кажется нужно запустить скрипт или что-то подобное. Т.к. даже если выберу файл и потом в самой странице поменяю его на другой, сайт все равно запомнит первый выбор файла.monstr_ork
boa, я наверно не правильно выразился, открывается, но не новое окно, а всплывающее окно, где нужно выбрать файл. Проблема в том, что когда появляется это окно, код дальше на работает, пока не выберешь файл и не нажмешь "Открыть", на сайте отправляется форма с этим файлом и дальше уже код отрабатывает. Пока я не понимаю как бороться с этим окном... =(
boa, я наверно не правильно выразился, открывается, но не новое окно, а всплывающее окно, где нужно выбрать файл. Проблема в том, что когда появляется это окно, код дальше на работает, пока не выберешь файл и не нажмешь "Открыть", на сайте отправляется форма с этим файлом и дальше уже код отрабатывает. Пока я не понимаю как бороться с этим окном... =(monstr_ork