Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Prüfen, ob Button auf Webseite geklickt wurde (https://www.delphipraxis.net/190749-pruefen-ob-button-auf-webseite-geklickt-wurde.html)

derseitzer 3. Nov 2016 09:43

Delphi-Version: 5

Prüfen, ob Button auf Webseite geklickt wurde
 
Hallo,
Ich suche eine Möglichkeit herauszufinden, ob ein Button im Browser (nicht TWebbrowser, sondern iE, Firefox oder ähnliches) geklickt wurde.
Beispiel: jemand drückt bei google.de auf den "Such" Button - dann soll etwas passieren:).

Ich habe leider die Vermutung, dass das ziemlich schwierig und bei jedem Browser anders ist, somit habe ich noch einen Alternativplan, aber jetzt möchte ich es erstmal auf diesem Wege versuchen und schauen ob einer von euch Delphi-Genies einen Code dafür hat:)
(Alternativplan: Da es der einzige Button auf der Seite ist, könnte man auch einfach auf eine Veränderung der URL warten.)

Towmuz 3. Nov 2016 10:25

AW: Prüfen, ob Button auf Webseite geklickt wurde
 
Ahoi,

keine Ahnung was du da nun für eine Webanwendung hast, aber sowas lässt sich schnell mit Javascript(jQuery) bzw. AJAX lösen:

Html Button
Code:
<input type="button" value="Klick" onClick="anServerSender()">
Javascript (jQuery)
Code:
var data = {Benutzer:IP oder was auch immer, Uhrzeit: Timestamp, usw:etc};

$.post("http://www.dein-server.de/webserviceZumWegspeichern", function(data){
})
.done(function(){
location.href = "http://www.dein-server.de/eigentlichesZiel.html";
});
Die Daten dann halt Serverseitig verarbeiten...

derseitzer 3. Nov 2016 10:47

AW: Prüfen, ob Button auf Webseite geklickt wurde
 
@Towmuz
eigentlich meinte ich, das ich in einem Delphi Programm, welches im Hintergrund läuft, die Information, ob ein Button im Browser geklickt wurde oder nicht, verarbeiten möchte.:)

Towmuz 3. Nov 2016 10:51

AW: Prüfen, ob Button auf Webseite geklickt wurde
 
Oh huch, bin schon weg, da kann ich mit meinen 3 Monaten Delphierfahrung nicht mitreden :D

Darlo 3. Nov 2016 10:54

AW: Prüfen, ob Button auf Webseite geklickt wurde
 
Ich vermute, dass Du auf Deine Frage keine Antwort bekommen wirst.
Anders wäre es ggf. wenn Du in Deinem Programm einen TWebbrowser hast und hier auf Aktionen reagieren möchtest, aber genau das willst Du ja nicht....

derseitzer 3. Nov 2016 12:43

AW: Prüfen, ob Button auf Webseite geklickt wurde
 
@Darlo Exakt. Ich rechne auch damit, das ich keine Antwort bekomme, aber ein Versuch ist/war es Wert.:)

himitsu 3. Nov 2016 12:58

AW: Prüfen, ob Button auf Webseite geklickt wurde
 
Und ich hoffe, dass es nicht so einfach möglich ist.
Ich will doch nicht, dass jedes poplige Pgoramm das nachverfolgen kann, was ich im Browser tu.

Ein BrowserHelper/Addon schreiben, welches versucht "im" Browser da dran zu kommen.

Jim Carrey 3. Nov 2016 12:59

AW: Prüfen, ob Button auf Webseite geklickt wurde
 
Die meiner Meinung nach absolut einzige Möglichkeit wären hier Browser-Plugins wie Greasemonkey
Mit solchen Plugins, die jeder Anwender -selber- installieren muss, kann man das HTML, CSS und JS einer Webseite durch eigene Scripte erweitern und abändern.
Mit solchen Plugins kann man z.B. das Delphipraxis-Logo da oben durch das Google-Logo austauschen.

Aber wenn dein Programm beobachten kann, was in einem Webbrowser (Chrome, Firefox etc) geklickt wird, ähnelt das doch schon bald einer Art Spionagesoftware.

derseitzer 3. Nov 2016 13:16

AW: Prüfen, ob Button auf Webseite geklickt wurde
 
@Jim Carrey hatte ich nie vor aber ja, möglich wäre das. Aber ist es nicht mit allem so? man kann auch den sleep befehl in delphi missbrauchen, wenn man will:D
@himitsu die URLs kann ich bereits auslesen, aber ich bin schon einen Schritt weiter.. ich möchte auslesen können, ob die Person einen Button gedrückt hat auf der bestimmten URL oder nicht:)

kleines Beispiel: mein Programm wird gestartet, ich gebe google.de in den Browser ein - mein Programm weiß "ok, ich bin auf google.de". jetzt warte ich auf den Button.click.. Aber wie ich des realisieren kann, weiß ich wirklich nicht..

Jim Carrey 3. Nov 2016 13:23

AW: Prüfen, ob Button auf Webseite geklickt wurde
 
Es ist schlicht einfach nicht möglich das ohne böse Methoden herauszubekommen.

Wäre das einfach möglich, könnte ja jede Software jede andere Software beliebig steuern.

Jumpy 3. Nov 2016 13:37

AW: Prüfen, ob Button auf Webseite geklickt wurde
 
Ausserdem habe ich auf Google noch nie auf einen Button geklickt.
Ich weiß, ist nur ein Beispiel, aber bei gefühlt 70% der Webformulare / Anmeldemasken drück ich nach Eingabe der Daten nur die Enter-Taste und los gehts....

derseitzer 3. Nov 2016 13:43

AW: Prüfen, ob Button auf Webseite geklickt wurde
 
@Jumpy es ist so, dass dann durch die Entertaste der Button geklickt wird. Wenn ich denn Button.click abfange, fange ich auch die Enter-taste ab

Jim Carrey 3. Nov 2016 13:47

AW: Prüfen, ob Button auf Webseite geklickt wurde
 
Zitat:

Zitat von derseitzer (Beitrag 1352550)
@Jumpy es ist so, dass dann durch die Entertaste der Button geklickt wird. Wenn ich denn Button.click abfange, fange ich auch die Enter-taste ab

Was machst du denn, wenn der vermeindliche Button ein gut aussehendes Span, Div oder sonst was ist?

derseitzer 3. Nov 2016 14:00

AW: Prüfen, ob Button auf Webseite geklickt wurde
 
also bis jetzt habe ich ganz einfach den twebbrowser benutzt und mir den quelltext angeschaut. Dann habe ich den Button gesucht, und mir von dem eine Eigenschaft genommen (id=... submit=... name=... oder sonstwas).
Das war nicht gerade schwer.
Nun will ich diese Information eben wieder.. aber diesmal eben nicht im Delphi Webbrowser sondern z.B. im Firefox.

Jim Carrey 3. Nov 2016 14:02

AW: Prüfen, ob Button auf Webseite geklickt wurde
 
Das wird man nicht so einfach hinbekommen.

Erkläre doch bitte den Nutzen deines Programmes. Was genau ist das Resultat aus "Ok, Google ist offen" und "Ok, Button X wurde geklickt".
Was soll dein Programm daraus basteln?

derseitzer 3. Nov 2016 14:09

AW: Prüfen, ob Button auf Webseite geklickt wurde
 
Zum Beispiel wenn man in google etwas eingibt könnte ich sofort den ersten Beitrag öffnen, schauen ob er hilfreich ist. Wenn nicht könnte ich auf Knopfdruck sofort den nächsten öffnen ohne Umschweife. Mir schweben aber noch andere Dinge im Kopf.. allgemein könnte man sich schneller im Internet bewegen:).. außerdem ist es doch egal, ich will einfach nur eine Lösung für mein Problem :(

t.roller 3. Nov 2016 14:12

AW: Prüfen, ob Button auf Webseite geklickt wurde
 
Liste der Anhänge anzeigen (Anzahl: 1)
Mit SPY bzw. Active Window Info sieht man, dass sich die Farbe ändert.
Übrigens: GOOGLE hat was dagegen, dass Abfragen automatisiert werden.
Ein Algoritmus erkennt das und schickt dann "Ich bin ein Mensch"-Survey.

Jim Carrey 3. Nov 2016 14:24

AW: Prüfen, ob Button auf Webseite geklickt wurde
 
Zitat:

Zitat von derseitzer (Beitrag 1352560)
Zum Beispiel wenn man in google etwas eingibt könnte ich sofort den ersten Beitrag öffnen, schauen ob er hilfreich ist. Wenn nicht könnte ich auf Knopfdruck sofort den nächsten öffnen ohne Umschweife. Mir schweben aber noch andere Dinge im Kopf.. allgemein könnte man sich schneller im Internet bewegen:).. außerdem ist es doch egal, ich will einfach nur eine Lösung für mein Problem :(

1. der Benutzer gibt etwas in Google ein
2. DU könntest es sofort öffnen
und
3. gucken, ob der Beitrag hilfreich ist?

Oder ich verstehe es falsch, kann auch sein.

Was ich meine ist... wenn man weiß was du machen möchtest, kann man besser helfen und ggf. andere Lösungsvorschläge unterbreiten.

Aviator 3. Nov 2016 14:34

AW: Prüfen, ob Button auf Webseite geklickt wurde
 
Zitat:

Zitat von derseitzer (Beitrag 1352550)
@Jumpy es ist so, dass dann durch die Entertaste der Button geklickt wird. Wenn ich denn Button.click abfange, fange ich auch die Enter-taste ab

Nicht wirklich. Ein Button Click führt u.U. nur eine Methode aus die den eigentlichen Suchvorgang startet. Bei Enter ebenfalls. Also haben Enter Taste und Button Click nichts gemeinsam außer den Aufruf einer internen Methode. Wenn du dich dort reinhängen könntest, dann kannst du die Enter Taste und den Button Click abfangen. Aber da wirst du von der Oberfläche aus keinen Zugang haben.

Hier mal ein Beispiel in Delphi:

Delphi-Quellcode:
procedure TForm1.Button1Click(...);
begin
  DoSomeThings;
end;

procedure TForm1.Edit1KeyPress(...);
begin
  if (Key = #13) then
    DoSomeThings;
end;

procedure TForm1.DoSomeThings;
begin
  // Do some stuff here
end;
Wie du siehst, sind Button und Return Click total unterschiedliche Dinge welche als Ergebnis aber die gleiche Methode ausführen.

Jim Carrey 3. Nov 2016 16:38

AW: Prüfen, ob Button auf Webseite geklickt wurde
 
@Aviator
ich glaube er meinte den Button auf einer Webseite im externen Browser (Firefox, Chrome etc), nicht auf einer TForm.

Aviator 3. Nov 2016 17:09

AW: Prüfen, ob Button auf Webseite geklickt wurde
 
Zitat:

Zitat von Jim Carrey (Beitrag 1352592)
@Aviator
ich glaube er meinte den Button auf einer Webseite im externen Browser (Firefox, Chrome etc), nicht auf einer TForm.

Ja klar meint er den. Aber dort ist es ja das selbe. Mir ging es ja nur darum, dass ein Drücken auf Enter nicht zwingen den ClickHandler eines Buttons auslöst. Ich habe es nur anhang eines Delphi Beispiels demonstrieren wollen. Weil das Prinzip ist das Gleiche.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:26 Uhr.

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