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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.08.2012, 22:12   #1
winhttp
Пользователь
 
Регистрация: 29.07.2012
Сообщений: 98
По умолчанию Twebbrowser: google , заполнение поля

Здраствуйте.
Проблема с заполнением полей на https://accounts.google.com/ServiceLoginAuth . использую функцию
Код:
function TForm1.FillForm(WebBrowser: TWebBrowser; FieldName,
  Value: string): Boolean;
var
 i, j: Integer;
 FormItem: Variant;
begin
 Result := False;
//no form on document
if WebBrowser.OleObject.Document.all.tags('form').Length = 0 then
begin
 Exit;
end;
//count forms on document
for I := 0 to WebBrowser.OleObject.Document.forms.Length - 1 do
begin
 FormItem := WebBrowser.OleObject.Document.forms.Item(I);
for j := 0 to FormItem.Length - 1 do
begin
try
//when the fieldname is found, try to fill out 
if FormItem.Item(j).Name = FieldName then
begin
 FormItem.Item(j).Value := Value;
 Result := True;
end;
except
 Exit;
end;

end;
end;
end;
в коде
Код:
fillform(WebBrowser1,'Email','123456');
кусок кода страницы с формой
PHP код:
 <form  
        id
="gaia_loginform" action="https://accounts.google.com/ServiceLoginAuth" method="post">
  <
input type="hidden" 
  
    
  
name="continue" id="continue" value="http://www.youtube.com/signin?action_handle_signin=true&amp;feature=sign_in_button&amp;nomobiletemp=1&amp;hl=ru_RU&amp;next=%2F"

  
 
>
  <
input type="hidden" 
  
    
  
name="service" id="service" value="youtube"

  
 
>
  <
input type="hidden" 
  
    
  
name="uilel" id="uilel" value="3"

  
 
>
  <
input type="hidden" 
  
    
  
name="dsh" id="dsh" value="-5911035190879645875"

  
 
>
  <
input type="hidden" 
  
    
  
name="ltmpl" id="ltmpl" value="sso"

  
 
>
  <
input type="hidden" 
  
    
  
name="hl" id="hl" value="ru_RU"

  
 
>
  <
input type="hidden"
         
name="GALX"
         
value="ETp10d_wOV8">
<
input type="hidden" name="timeStmp" id="timeStmp"
       
value=''/>
<
input type="hidden" name="secTok" id="secTok"
       
value=''/>
<
div class="email-div">
  <
label for="Email"><strong class="email-label">Адрес электронной почты <span>или имя пользователя на YouTube</span></strong></label>
  <
input  type="text"
           
spellcheck="false"  
  
    
  
name="Email" id="Email" value=""

  

      
    
>
</
div
проблема в том, что поле не заполняется помогите... что делаю не так??
winhttp вне форума Ответить с цитированием
Старый 31.08.2012, 22:14   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Интересно, а вы вообще слышали об Google API?
Человек_Борща вне форума Ответить с цитированием
Старый 31.08.2012, 22:15   #3
winhttp
Пользователь
 
Регистрация: 29.07.2012
Сообщений: 98
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Интересно, а вы вообще слышали об Google API?
слышал. но нужно именно не через апи
winhttp вне форума Ответить с цитированием
Старый 31.08.2012, 22:17   #4
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

У каждого элемента есть свой идентификатор, для чего все эти циклы?
eval вне форума Ответить с цитированием
Старый 31.08.2012, 22:26   #5
winhttp
Пользователь
 
Регистрация: 29.07.2012
Сообщений: 98
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
У каждого элемента есть свой идентификатор, для чего все эти циклы?
не понял? я в функцию как раз и передаю id
winhttp вне форума Ответить с цитированием
Старый 31.08.2012, 22:30   #6
winhttp
Пользователь
 
Регистрация: 29.07.2012
Сообщений: 98
По умолчанию

или имели ввиду просто обращаться по айди? так например
Код:
var
ed:variant;
begin
ed:=webbrowser1.OleObject.document.getElementById('Email');
ed.value:='12345';
end;
то так просто ошибку выдаёт
winhttp вне форума Ответить с цитированием
Старый 31.08.2012, 22:32   #7
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Засекреченую?
eval вне форума Ответить с цитированием
Старый 31.08.2012, 22:39   #8
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

На фоме много браузеров лежит?
eval вне форума Ответить с цитированием
Старый 31.08.2012, 22:40   #9
winhttp
Пользователь
 
Регистрация: 29.07.2012
Сообщений: 98
По умолчанию


переменная ed не содержит обьекта??
winhttp вне форума Ответить с цитированием
Старый 31.08.2012, 22:40   #10
winhttp
Пользователь
 
Регистрация: 29.07.2012
Сообщений: 98
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
На фоме много браузеров лежит?
зачем мне много? один.
winhttp вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Twebbrowser + google + авторизация = ошибка winhttp Работа с сетью в Delphi 1 31.08.2012 01:32
TWebBrowser Заполнение формы в несколько шагов Allzero Работа с сетью в Delphi 0 09.12.2011 15:35
Заполнение полей формы в TWebBrowser dacorp Общие вопросы Delphi 0 13.07.2011 15:17
Копирование текста из определенного поля в TWEBBROWSER ? 4pe6km Работа с сетью в Delphi 2 02.04.2009 01:24
Заполнение тега типа file на TWebBrowser Alex_C Работа с сетью в Delphi 0 26.10.2007 14:02