Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для CJ F.A.N.

Ветеран


Сообщения: 565
Благодарности: 30

Профиль | Сайт | Отправить PM | Цитировать


DedAlex, огромное спасибо, ссылки помогли!
Помогли вот эти процедуры:

Код: Выделить весь код
function tform1.GetFormByNumber(document: IHTMLDocument2;
    formNumber: integer): IHTMLFormElement;
var
  forms: IHTMLElementCollection;
begin
  forms := document.Forms as IHTMLElementCollection;
  if formNumber < forms.Length then
    result := forms.Item(formNumber,'') as IHTMLFormElement
  else
    result := nil;
end;

procedure tform1.SetFieldValue(theForm: IHTMLFormElement;
  const fieldName: string; const newValue: string;
  const instance: integer=0);
var
  field: IHTMLElement;
  inputField: IHTMLInputElement;
  selectField: IHTMLSelectElement;
  textField: IHTMLTextAreaElement;
begin
  field := theForm.Item(fieldName,instance) as IHTMLElement;
  if Assigned(field) then
  begin
    if field.tagName = 'INPUT' then
    begin
      inputField := field as IHTMLInputElement;
      if (inputField.type_ <> 'radio') and
         (inputField.type_ <> 'checkbox')
      then
        inputField.value := newValue
      else
        inputField.checked := (newValue = 'checked');
    end
    else if field.tagName = 'SELECT' then
    begin
      selectField := field as IHTMLSelectElement;
      selectField.value := newValue;
    end
    else if field.tagName = 'TEXTAREA' then
    begin
      textField := field as IHTMLTextAreaElement;
      textField.value := newValue;
    end;
  end;
end;[/b]

Потом просто сделал дополнительную процедуру Autologin:

[b]procedure tform1.autologin;
var
  document: IHTMLDocument2;
  theForm: IHTMLFormElement;
 begin
  document := WebBrowser1.Document as IHTMLDocument2;
  theForm := GetFormByNumber(WebBrowser1.Document as IHTMLDocument2,0);
  SetFieldValue(theForm,'Имя поля ввода логина','Имя пользователя');
   form1.prog.Progress:= 4;
  SetFieldValue(theForm,'Имя поля ввода пароля','Пароль');
  form1.prog.Progress:= 3;
  webbrowser1.Navigate('А тут код той ссылки, нажав на которую происходил вход на сайт. Тут Ява скрипт был какой то');
  form1.prog.Progress:= 6;

  ready:= false;
end;
Очень полезные ссылки, а то сколько не искал примеров, там ничего подходящего не оказалось! Проблема решена!

-------
Опыт растет прямо пропорционально выведенному из строя оборудованию


Последний раз редактировалось Drongo, 01-09-2010 в 11:10. Причина: Использовать тег код - #

Это сообщение посчитали полезным следующие участники:

Отправлено: 08:36, 01-09-2010 | #10