Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Posting в веб-форму на сайте / 15 сообщений из 15, страница 1 из 1
02.01.2013, 06:43
    #38098597
vfpmaster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Posting в веб-форму на сайте
Вопрос к профессионалам:
Имеется сайт, надо из фокса открыть этот сайт,ввести логин и пароль,ввести некие данные в поля формы на сайте и нажать ВВОД.
Иными словами - надо выполнить постинг на сайте где известны имена полей для ввода и выполнить SUBMIT.
Как это надо сделать из программы на фоксе?
На php это делается через curl. Надо сделать нечто подобное на фоксе.
...
Рейтинг: 0 / 0
02.01.2013, 07:32
    #38098600
Posting в веб-форму на сайте
vfpmaster,
Как вариант, в фоксе использовать "ослика" (IE) в виде COM-объекта.... Так, как это делается с Экселем и Вордом....
...
Рейтинг: 0 / 0
02.01.2013, 08:22
    #38098603
vfpmaster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Posting в веб-форму на сайте
Станислав С...кий,

Хочется увидеть хоть какие то примеры на фоксе с описанием.
Желательно использовать не ослика, а средства самого виндовса.
Спасибо.
...
Рейтинг: 0 / 0
02.01.2013, 08:30
    #38098604
Jonny540
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Posting в веб-форму на сайте
vfpmasterХочется увидеть хоть какие то примеры на фоксе с описанием.
Желательно использовать не ослика, а средства самого виндовса.
Спасибо.Поиск по слову "сайт". Будут тебе примеры...
...
Рейтинг: 0 / 0
02.01.2013, 08:41
    #38098605
vfpmaster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Posting в веб-форму на сайте
Jonny540vfpmasterХочется увидеть хоть какие то примеры на фоксе с описанием.
Желательно использовать не ослика, а средства самого виндовса.
Спасибо.Поиск по слову "сайт". Будут тебе примеры...
По слову сайт море ненужной инфы. Вероятно надо копать в сторону CreateObject("MSXML2.XMLHTTP")
Хочется увидеть конкретные примеры.
...
Рейтинг: 0 / 0
02.01.2013, 16:41
    #38098759
Redrik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Posting в веб-форму на сайте
Примерное направление "изысков":

loIE=CREATEOBJECT("InternetExplorer.Application")
loIE.Navigate(lcUrl)
=SLEEP(1000)
loIE.Document.all("ctl00_main_Login1_UserName").Value=lcUserName
loIE.Document.all("ctl00_main_Login1_Password").Value=lcPassword
loIE.Document.all("ctl00_main_Login1_LoginButton").Click()
...
Рейтинг: 0 / 0
02.01.2013, 17:05
    #38098781
Grin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Posting в веб-форму на сайте
2vfpmaster,

Ройте в сторону InternetExplorer.Application
или Shell.Explorer

кусок кода, правда выдраный из древнего приложения, которое пару лет как не используется, но думаю для примера должно хватить
на форме лежит Edit1, который AddObject подменяет на cWeb

DO FORM CURDIR()+'frm\WebForm.scx' NAME cWeb

cWeb.AddObject('Edit1','cWeb',"Shell.Explorer.2")
cWeb.Edit1.navigate('https://ххх.хххх.хх')
cWeb.WindowState= 2
cWeb.Edit1.Document.Forms(0).elements(0).Value=m.UserLogin
cWeb.Edit1.Document.Forms(0).elements(1).Value=m.Password
cWeb.Edit1.Document.Forms(0).submit

DEFINE CLASS CWeb AS olecontrol
oleclass = "InternetExplorer.Application"
width=340
height=374
LEFT = 30
top = 27
PROCEDURE resize
This.Height=ThisForm.Height-27
This.Width=ThisForm.Width-This.Left
ENDPROC
PROCEDURE Refresh
NODEFAULT
ENDPROC
ENDDEFINE
...
Рейтинг: 0 / 0
02.01.2013, 18:04
    #38098820
vfpmaster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Posting в веб-форму на сайте
Grin,
хотелось бы самый простой, быстрый и надёжный способ, может быть лучше через firefox?
...
Рейтинг: 0 / 0
02.01.2013, 19:17
    #38098862
vfpmaster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Posting в веб-форму на сайте
Grin,
Не получается выбрать элементы chekbox.
Хотелось бы побольше примеров работы с элементами формы.
...
Рейтинг: 0 / 0
02.01.2013, 20:01
    #38098877
Grin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Posting в веб-форму на сайте
2vfpmaster,

Вот вам пример
отработайте в окне command пошагово, и посмотрите что при этом будет делать броузер

LOINETAPP = CREATEOBJECT('InternetExplorer.Application')
LOINETAPP.NAVIGATE('http://forum.volsat.com.ua/')
LOINETAPP.VISIBLE = .T.
LOINETAPP.DOCUMENT.FORMS(0).ELEMENTS(0).VALUE='MyLogin'
LOINETAPP.DOCUMENT.FORMS(0).ELEMENTS(2).VALUE='MyPassword'
LOINETAPP.DOCUMENT.FORMS(0).ELEMENTS(1).checked=.t.
LOINETAPP.DOCUMENT.FORMS(0).ELEMENTS(1).checked=.f.
LOINETAPP.DOCUMENT.Forms(0).submit

PS
подсказка попробуйте ELEMENTS присвоить переменной
q=LOINETAPP.DOCUMENT.FORMS(0).ELEMENTS(1)

а дальше попробуйте в окне command
q.
должен появиться список всех свойств и методов обекта
...
Рейтинг: 0 / 0
02.01.2013, 20:49
    #38098896
vfpmaster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Posting в веб-форму на сайте
Grin,

Получилось, но не совсем логично.
Каким то чудом удалось установить что данные выводятся не в не FORMS(0), а в FORMS(1).
Далее делал так
loIE.document.all("SelAll").Click
тут получается что SelAll это имя чекбокса который инициирует выбор всех остальных чекбоксов.

q=loIE.DOCUMENT.FORMS(1).ELEMENTS(83)
q.click
тут странное дело - ELEMENTS(83) не имеет Name, но работает как Submit.

В общем то Automation IE получается, но голову придётся поломать с именами элементов и присвоениями значений.

с капчей видимо будет ещё сложнее.
...
Рейтинг: 0 / 0
02.01.2013, 21:20
    #38098912
Redrik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Posting в веб-форму на сайте
Так там ещё и капча? Тогда тушите свет... :)
...
Рейтинг: 0 / 0
02.01.2013, 22:21
    #38098939
vfpmaster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Posting в веб-форму на сайте
Redrik,

Вот на что наткнулся:
при клике переключается форма ввода
сначала loIE.DOCUMENT.FORMS(0)
потом loIE.DOCUMENT.FORMS(1)
потом loIE.DOCUMENT.FORMS(2)
потом снова loIE.DOCUMENT.FORMS(1)
Определил это только по надписям на кнопках. А как узнать в какой форме я нахожусь?
Номер формы нужно узнать как то - 0,1,2
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
09.06.2015, 11:14
    #38979908
abakumovvik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Posting в веб-форму на сайте
Добрый день, Grin

В своём проекте я использовал InternetExplorer.Application, но, с недавнего времени этот метод отвалился для одного из сайтов, которые я автоматизировал. Знаю Shell.Explorer работает на нём, но я никак не могу повторить то, что мне нужно с использованием Shell.Explorer

Вижу, то Вы как раз делали то, что мне нужно:
кусок кода, правда выдраный из древнего приложения, которое пару лет как не используется, но думаю для примера должно хватить[/i]
на форме лежит Edit1, который AddObject подменяет на cWeb

DO FORM CURDIR()+'frm\WebForm.scx' NAME cWeb

cWeb.AddObject('Edit1','cWeb',"Shell.Explorer.2")
cWeb.Edit1.navigate('https://ххх.хххх.хх')
cWeb.WindowState= 2
cWeb.Edit1.Document.Forms(0).elements(0).Value=m.UserLogin
cWeb.Edit1.Document.Forms(0).elements(1).Value=m.Password
cWeb.Edit1.Document.Forms(0).submit

DEFINE CLASS CWeb AS olecontrol
oleclass = "InternetExplorer.Application"
width=340
height=374
LEFT = 30
top = 27
PROCEDURE resize
This.Height=ThisForm.Height-27
This.Width=ThisForm.Width-This.Left
ENDPROC
PROCEDURE Refresh
NODEFAULT
ENDPROC
ENDDEFINE

помогите мне, пожалуйста.
Мне нужно:
Основная идея такая:
1. Залезть на сайт.
2. Авторизоваться
3. Перейти по ссылке, которая образуется после авторизации
4. Отметить чекбоксы на этой странице
5. Нажать кнопку Выбрать
6. На полученной странице нажать на скриптовую ссылку вида <A id=name-123456 class="usd" href="javascript:void('13421')" data-id="13421">326</A> , выбор осуществлял по id (например: id=name-123456)
7. Увидеть, что скрипт отработал (выбранное значение появляется в виде простого текста на странице в зоне подтверждения)
8. Нажать на кнопку Подтвердить
9. Обработать сообщение от конторы (просто получить текст страницы, после отработки скрипта подтверждения)
10. Если нужно, построить

Понимаю Ваш проект что-то подобное делает, но моего опыта в фоксе, увы, не хватает на то, чтобы из Вашего примера сделать что-то работоспособное!

Можете дать Ваш проект в исходнике или как-то иначе помочь?
...
Рейтинг: 0 / 0
09.06.2015, 13:00
    #38980081
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Posting в веб-форму на сайте
авторИмя Grin
Статус Зарегистрированный участник
E-Mail:
URL:
ICQ:
Откуда:
Интересы:
Работа:
Информация:
Сообщений: 101
Зарегистрирован: 02 февраля 2005, 11:11
Последнее сообщение: 21 марта 2014, 19:29 (444 дней 17 часов 31 минут назад)
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Posting в веб-форму на сайте / 15 сообщений из 15, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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