WebBrowser.OleObject - jak kliknąć w taki element?

0

jak w temacie.. mam na formie komponent WebBrowser i chce za pomoca buttona kliknać w taki element:

<form action="inwestycje.php" method="post">
<input type="hidden" name="zbierz" value="1"/>
<input type="image" src="../lang/pl/images/gromadzenie_zbierz.jpg" style="float: left; margin-top: -5px;"/>
</form>

to jest jeden przycisk na stronie,, następny przycisk ma ustawione VALUE=2, następny VALUE=3 itd... jak mam w to kliknąc?

potrafie za pomocą OleObject klikać w różne elementy ale w takie coś to nie mam pojecia jak to zrobić...HELP!! :) stawiam skrzynke piwa za pomoc :P

dodanie znacznika <code class="xml"> - fp

1

Ja w tym kodzie nie widzę w ogóle buttona a value="1" ma ustawione ukryte pole (takie którego wartość ma być przesłana ale użytkownik nie może go modyfikować). Zacznijmy od tego czy chcesz wysłać ten formularz czy kliknąć i co w końcu? Może ten image który chyba robi za button?

Wysłanie formularza przez wywołanie metody submit :

const
  FORM_ACTION = 'inwestycje.php';
var
  i: Integer;
  doc: IHTMLDocument2;
  form: IHTMLFormElement;
begin
  doc:= WebBrowser1.Document as IHTMLDocument2;
  if Assigned(doc) then
  begin
    for i:= 0 to doc.forms.length - 1 do
    begin
      form:= doc.forms.item(i, EmptyParam) as IHTMLFormElement;
      if AnsiCompareText(form.action, FORM_ACTION) = 0 then
      begin
        form.submit;
        break;
      end;
    end;
  end;
end;

Wysłanie formularza prze kliknięcie na image.

const
  ELEMENT_TYPE = 'image';
var
  i: Integer;
  doc: IHTMLDocument2;
  elem: IHTMLElement;
begin
  doc:= WebBrowser1.Document as IHTMLDocument2;
  if Assigned(doc) then
  begin
    for i:= 0 to doc.all.length - 1 do
    begin
      elem:= doc.all.item(i, EmptyParam) as IHTMLElement;
      if AnsiCompareText(VarToStr(elem.getAttribute('type', 0)), ELEMENT_TYPE) = 0 then
      begin
        elem.click;
        break;
      end;
    end;
  end;
end;
0

Poniżej na screenach jest pokazane o co mi dokładnie chodzi, być może mało zrozumiale napisałem w pierwszym poście ;p więc tak.. kolega chce żebym mu zrobił bota do gry przeglądarkowej. ga sie nazywa MiastoZbrodni.pl... w moim programie chodzi o to żeby co jakiś czas wykonywało się "samoklikniecie" w jakiś przycisk który jest na strone gry. na pierwszym obrazku jest pokazany przycisk "Rozbuduj" i poniżej czerwona strzałka do kodu Html który jest przypisany do tego przycisku... jak na podstawie tego kodu html mam zrobić w delphi żeby się to samo klikneło? że np. wstawie Timer1 i ustawie żeby co godzine się samo klikało w przycisk "Rozbuduj" ???

user image

a tu na drugim screenie jest pokazane że chce kliknać w buttona i ten button ma spowodować że w WebBrowser mi się kliknie przycisk "Rozbuduj" ...rozumiecie teraz?

user image

0

No i w czym problem? Teoretycznie oba podane wyżej kody powinny z tym sobie radzić chyba że jest więcej takich samych elementów (nie mają one ID aby jednoznacznie stwierdzić o jaki chodzi) i wyszukują nie właściwy trzeba by widzieć kod HTML całej strony.

0

Faktycznie działa! DZIĘKI DZIĘKI WIELKIE!!!!!! :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1