Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Firefox steuern (https://www.delphipraxis.net/87591-firefox-steuern.html)

ebber 2. Mär 2007 16:33


Firefox steuern
 
Hallo


ich möchte mit meinem Programm in Firefox eine Seite aufrufen (das würde ich hinbekommen). Dort gibt es dann ein Eingabefeld und ein Button. Ist es möglich mit Delphi etwas in das Feld zu schreiben und den Button zu betätigen ?

MfG

arbu man 2. Mär 2007 16:37

Re: Firefox steuern
 
Warum grade mit FF mit Indy kann man wesentlich leichter einen HTTP-Request (TIdHTTP) senden, dann gibt es da noch den TWebbrowser...

mfg, Björn

ebber 3. Mär 2007 15:09

Re: Firefox steuern
 
Wie mache ich denn dann so was. Die Seite habe ich nicht selbst gemacht und sie ist mit viel Javascript. Wie sage ich ihm dann dass er dort diesen ButtonClick ausführen muss ?

Wenn der Button z.B. die funktion return dhcp_release(); ausführt ?

MfG

bitsetter 3. Mär 2007 16:05

Re: Firefox steuern
 
Hi,

es wäre sicherlich nicht perfekt, aber du könntest die Maus auf eine bestimmte Position bringen und dort dann automatisch klicken.
einen Mausklick simulieren?

Danach könntest du noch automatisch Tastendrücke simulieren.
Tastendrücke simulieren (keybd_event und Sonderzeichen)

ebber 3. Mär 2007 18:41

Re: Firefox steuern
 
Ich habe das schon vorher probiert. Mit TAB dann ins Feld uns so und dann Enter für den ButtonClick. Aber das ist alles sehr langsam und ungenau, da man öfters Tab drücken muss. Da bin ich schneller wenn ich es von hand mache.

Gibt es keine andere Möglichkeit ?

MfG

DGL-luke 3. Mär 2007 19:26

Re: Firefox steuern
 
Hallo,

könntest du aus dem Quelltext der Seite mal das Formular zeigen, das du abschicken willst? (<form> bis </form>)

ebber 3. Mär 2007 20:34

Re: Firefox steuern
 
Delphi-Quellcode:

<form action="/cgi-bin/login.exe" method="post" name="tF">
<table border="0" cellpadding="0" cellspacing="0" >
  <tr>
    <td background="images/pic_c_ml.gif" width="10" height="25" ></td>
    <td background="images/pic_c_m.gif" width="390" >[b]Passwort Eingabe[/b]</td>

    <td background="images/pic_c_mr.gif" width="5"></td>
  </tr>
  <tr>
    <td background="images/pic_c_sl.gif" width="10" height="25"></td>
    <td background="images/pic_c_m_first.gif" width="390" >
   

<INPUT type="password" maxLength=12 size=20 class="passwd_style" name=pws> (0000)</td>
    <td background="images/pic_c_sr.gif" width="5"></td>
  </tr>

  <tr>
    <td background="images/pic_c_sl.gif" width="10" height="25"></td>
    <td background="images/pic_c_m_first.gif" width="390" > </td>
   
    <td background="images/pic_c_sr.gif" width="5"></td>
  </tr>
  <tr>
    <td background="images/pic_c_ml.gif" width="10" height="25" ></td>
    <td background="images/pic_c_m.gif" width="390"></td>

    <td background="images/pic_c_mr.gif" width="5"></td>
  </tr>
  <tr>
    <td background="images/pic_c_bl.gif" width="10" height="25" ></td>
    <td background="images/pic_c_b.gif" width="390" height="25"></td>
    <td background="images/pic_c_br.gif" width="5" height="25"></td>
  </tr>
</table>
<input NAME=trigger TYPE=button VALUE="." maxlength=0 SIZE=0  onclick="return trigging();" style="visibility: hidden">
<input NAME=backbtn TYPE=button VALUE="." maxlength=0 SIZE=0  onclick="Javascript:history.back();" style="visibility: hidden">

</form>
so ?

DGL-luke 3. Mär 2007 21:03

Re: Firefox steuern
 
dann is recht einfach.

TIdHTTP,

Host := adresse dieser login.exe
HTTPHeader.Referer := die seite, auf der das formular liegt
parameter: password := entsprechendes passwort

und dann ein IdHTTP.Post wegfeuern.

die eigenschaften könnten alle nen anderen namen haben, bin zu faul, das jetzt nachzuschauen.

ebber 3. Mär 2007 21:49

Re: Firefox steuern
 
Danke.

Aber wie genau geht das mit dem IdHTTP.Post ?

MfG

DGL-luke 4. Mär 2007 12:34

Re: Firefox steuern
 
ähm... was heißt wie geht das?

IdHTTP auf die Form ziehen, Eigenschaften setzen, und folgenden Code ausführen:

Delphi-Quellcode:
IdHTTP1.Post;

jmd anders 4. Mär 2007 13:01

Re: Firefox steuern
 
um genau herauszufinden, was du alles senden muss, benutzt du am besten einen sniffer(http proxy).
such zum beispiel nach Proxomitron bei google. ich find den relativ gut. musst einfach bei deinem browser einstellen über welchen port verbunden werden soll, bei Proxomitron das gleiche und schon kannst du sehen was alles übertragen wird.

ebber 4. Mär 2007 13:40

Re: Firefox steuern
 
@DGL-luke

Ja das habe ich so versucht, aber wenn ich IdHTTP1.Post; machen will dann kommt beim complieren

[Pascal Error] Unit1.pas(44): E2250 There is no overloaded version of 'Post' that can be called with these arguments


MfG

DGL-luke 4. Mär 2007 17:45

Re: Firefox steuern
 
Dann schau doch mal was Post für Argumente erwartet.

ebber 4. Mär 2007 20:35

Re: Firefox steuern
 
Da steht er will eine AUrl und ein ASource.

Die Urls habe ich doch aber schon angegeben in den Optionen des Tidhttp? Und mit Source meint er?

MfG

DGL-luke 5. Mär 2007 17:12

Re: Firefox steuern
 
Öhm... da musst du dann n Indy-Profi fragen :?


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:33 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz