Заполнение web-формы в запущенном экземпляре IE

denwir
Дата: 30.05.2011 10:21:14
Гуру и знатоки, помогите дельным словом...

Выполняю задачу по заполнению web-формы в запущенном IE.
Доступ к IE затруднения не вызывает:

procedure TpmMain.GetWebDocument;
var
   //hIE: HWND;
   ShellWindow: IShellWindows;
   WB: IWebbrowser2;
   spDisp: IDispatch;
   IDoc1: IHTMLDocument2;
   //Document: Variant;
   k: Integer;
begin
  ShellWindow := CoShellWindows.Create;
  // Получаем инстанс запущего IE
  for k := 0 to ShellWindow.Count do
  begin
    spDisp := ShellWindow.Item(k);
    if spDisp = nil then Continue;
    spDisp.QueryInterface(iWebBrowser2, WB);

    if WB <> nil then
    begin
      WB.Document.QueryInterface(IHTMLDocument2, iDoc1);
      if iDoc1 <> nil then
      begin
        WB := ShellWindow.Item(k) as IWebbrowser2;
        begin
          if ScriptFile.SectionExists(Variant(WB.Document).url) then
            FillForm(WB.Document);
        end;
      end;
    end;
  end;
end;

Заполнение обычный текстовых полей тоже:
procedure TpmMain.FillForm(ADocument: Variant);
var
  ovElements: OleVariant;
  //ovForms: idispatch;
  i, m: integer;
  Options: IHTMLSelectElement;
  Element: IHTMLElement;
begin
  // Перебираем формы на странцие браузера
  for m := 0 to ADocument.Forms.Length - 1 do
  begin
    //ovForms := ADocument.forms.item(m, 0);
    ovElements := ADocument.Forms.item(m).elements ;
    //Перебираем элементы формы
    for i := 0 to ovElements.Length - 1 do
    begin
      try
        //Для текстовых полей
        //Element := ovElements.item(i,0) as IHTMLElement;
        if (CompareText(ovElements.item(i).tagName, 'INPUT') = 0) and
           (CompareText(ovElements.item(i).type, 'text') = 0) then
        begin

           ovElements.item(i).Value := GetElementValue(ADocument.url, ovElements.item(i).name);
        end;

        //Для комбобоксов
        if (CompareText(ovElements.item(i).tagName, 'SELECT') = 0) then
        begin
          

        end;



      except

      end;

    end;
  end;
end;

А вот как заполнить элементы типа SELECT (комбобоксы) и РадиоБаттоны - затрудняюсь. С радостью приму любую помощь по моему вопросу.