Ввод captcha в Яндексе через компонент TWebBrowser в Delphi

Приведенный ниже код позволяет ввести каптчу в поисковике Яндекс. Аргумент, передаваемый функции – код капчи.

procedure input_captcha(key:string);
var
  ii:integer;
  iDoc: IHtmlDocument2;
  ov: OleVariant;
  iDisp: IDispatch;
  iColl: IHTMLElementCollection;
  iInputElement: IHTMLInputElement;
begin
  form1.WebBrowser1.ControlInterface.Document.QueryInterface(IHtmlDocument2, iDoc);
  ov := 'INPUT';
  IDisp := iDoc.all.tags(ov);
  if assigned(IDisp) then
  begin
    IDisp.QueryInterface(IHTMLElementCollection, iColl);
    if assigned(iColl) then
    for ii := 1 to iColl.Get_length do
    begin
      iDisp := iColl.item(pred(ii), 0);
      iDisp.QueryInterface(IHTMLInputElement, iInputElement);
      if assigned(iInputElement) then
      begin
        if iInputElement.Get_name = 'rep' then
           iInputElement.Set_value(key);
        if iInputElement.value='Отправить' then
        begin
          iInputElement.form.submit;
          break;
        end;
      end;
    end;
  end;
end;
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (10 оценок, среднее: 5,00 из 5)
Загрузка...
Добавить комментарий