Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2011, 11:10   #1
AlexP_77
 
Регистрация: 21.11.2011
Сообщений: 3
Вопрос Кто знает как засабмить форму через WebBrowser?

Помогите засабмить форму через WebBrowser. Пишу прогу на Delphi которая по событию должна автоматом скачать архив из всем известного файлообменника LetitBit но никак не могу преодолеть 2-ю страницу в загрузке (гам где кнопка "Спасибо, не надо"). Вот ссылка на тестовый файл http://letitbit.net/download/22588.2...ke_me.mp3.html
Все предыдущие и последущие кнопки нажимаю при помощи команды Wind.execScript('$(''#ifree_form'') .submit()','JavaScript'), а вот эту форму засабмить не получается. В Google нашёл массу примеров но они все однотипные и в моём случае не работают. Вот код одного из них:
var ovElements: OleVariant;
i,len: Integer;
name,tp:string;
idButton:integer;
begin
ovElements := WebBrowser1.OleObject.Document.form s.item(0).elements;
len := ovElements.Length;
for i:=0 to (len-1) do
begin
name := ovElements.item(i).Name;
tp := ovElements.item(i).type;
if ( name = 'ok') and ( tp = 'submit') then idButton := i
end;
ovElements.item(idButton).Click;

Если в этот код внести строки которые выводят значения перемененных в Memo становится понятно что len всегда равно 1 и поэтому цикл дальше первой формы не идёт, а т.к. форма которую мне засабмить надо не первая то и "кликнуть" по ней не получается. Подскажите как это правильно реализовать.

И сразу хотел бы задать ещё 1 вопрос. Как программно нажать на кнопку "Сохранить" когда WebBrowser выдаёт диалоговое окно при загрузке файла?
AlexP_77 вне форума Ответить с цитированием
Старый 22.11.2011, 18:19   #2
AlexP_77
 
Регистрация: 21.11.2011
Сообщений: 3
По умолчанию

Я тут модифицировал код малость но чёто ошибку выдаёт на строчке for j:=0 to ((WebBrowser1.OleObject.Document.fo rm(i).Length)-1)do. Есть у кого то хоть какие то соображения. Ато я просто просто уже где искать не знаю Вот код
var ovElements: OleVariant;
j,i,len: Integer;
name,tp:string;
idLogin,idPass,idButton:integer;
begin
len:= WebBrowser1.OleObject.Document.form s.Length;
Label1.Caption:=IntToStr(len);
for i:=1 to (len-1) do
for j:=0 to ((WebBrowser1.OleObject.Document.fo rm(i).Length)-1)do
begin
ovElements := WebBrowser1.OleObject.Document.form (i).item(j).elements;
if ( name = 'ok') and ( tp = 'submit') then
ovElements.item(idButton).Click;
end;
AlexP_77 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кто знает как делаеться? TroshNSK Помощь студентам 2 22.06.2010 18:12
Кто знает как через VBA заблокировать кнопку закрытия окна и развёртывания при Full Screen view mserkin Microsoft Office Excel 5 18.06.2010 12:29
а кто знает как andRR Общие вопросы C/C++ 17 16.06.2009 22:04
Кто знает как Мих-mih Microsoft Office Word 2 30.04.2009 20:14
А кто знает как менять IP через Delphi? micaell Работа с сетью в Delphi 6 23.01.2007 18:15