AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Button in TWebbrowser drücken!
Thema durchsuchen
Ansicht
Themen-Optionen

Button in TWebbrowser drücken!

Ein Thema von la.reunion · begonnen am 31. Aug 2006 · letzter Beitrag vom 1. Sep 2006
Antwort Antwort
la.reunion

Registriert seit: 30. Apr 2006
152 Beiträge
 
#1

Button in TWebbrowser drücken!

  Alt 31. Aug 2006, 22:33
Nabend,

Ich habe scho im Forum gesucht aber nichts zu meinem Problem gefunden. Um mal kurz meine Situation zu erklären: Ich bin 92 Jahre alt .. Nein spaß bei Seite
Ich habe 2 Buttons ein Edit und einen TWebbrowser.
In dem Edit gebe ich eine URL ein navigiere damit den TWebbrowser(mit dem ersten button) und mit dem zweiten Button wird bzw. soll ausgelöst werden das in dem TWebbrowser 3-Mal die Taste Tab gedrückt wird und dann enter.

Nur funkrioniert das nicht wenn ich Tab drücken lasse wird dies nur in meiner Programm-Oberfläche ausgeführt, nicht im TWebbrowser. Dazu habe ich dann folgendes benutzt, das aber auch nicht funktioniert k.A warum:
postMessage(WebBrowser1.Handle,WM_KEYDOWN,vk_tab,0); Ist da was falsch dran oder warum macht er das nicht?

Vlt hab ihr ja auch einen anderen Lösungsvorschlag, wäre euch sehr dankbar.

Im Prinzip will ich einen Button in einem TWebbrowser drücken muss dies aber über diesen Umweg machen, da ich schon sämtlichen Möglichkeiten ausprobiert hab die leider nicht funktionieren, wenn ich mich eines besseren belehrern könnt bitte...

Lg La.Reunion
PS:. Danke!
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: Button in TWebbrowser drücken!

  Alt 1. Sep 2006, 07:50
Hallo

Vielleicht koenntest du den relevanten (HTML) Source Code posten?
Thomas
  Mit Zitat antworten Zitat
la.reunion

Registriert seit: 30. Apr 2006
152 Beiträge
 
#3

Re: Button in TWebbrowser drücken!

  Alt 1. Sep 2006, 10:23
Delphi-Quellcode:
<div id="068be3997902ffa0cf91c6b411a0bcb8d" style="text-align: center;">
               <button onclick="javascript:RapidSafePSC('3f76h6m451vg=4g161vou4u70&t=068be3997902ffa0cf91c6b411a
0bcb8d&d=068be3997902ffa0cf91c6b411a0bcb8&p=1
','068be3997902ffa0cf91c6b411a0bcb8d');">Premium</button>
               <button onclick="javascript:RapidSafePSC('3f76h6m451vg=4g161vou4u70&t=068be3997902ffa0cf91c6b411a0bcb8d
&d=068be3997902ffa0cf91c6b411a0bcb8&p=0
','068be3997902ffa0cf91c6b411a0bcb8d');">Free</button>


               <span style="font-size: x-small;">0:0 clicks</span>
SO das müsste der wichtige teil sein


HAbe das auch damit versucht, ich weiß aber nicht was ich da eintragen soll
WebBrowser1.OleObject.Document.forms.item(0).elements.item(0).click; [edit=Admin]wg. Darstellungsfehlern neu in Cache eingetragen Mfg, Daniel[/edit]
  Mit Zitat antworten Zitat
Ydobon

Registriert seit: 3. Mär 2006
261 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Button in TWebbrowser drücken!

  Alt 1. Sep 2006, 14:22
Klappt es so vielleicht?
Delphi-Quellcode:
var divb: IHTMLElement;
begin
  divb:=(WebBrowser1.Document as IHTMLDocument3).getElementById('068be3997902ffa0cf91c6b411a0bcb8d');
  ((divb.children as IHTMLElementCollection).item(0, 0) as IHTMLElement).click;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Cyberbob
Cyberbob

Registriert seit: 24. Jan 2005
Ort: Karben
626 Beiträge
 
Delphi XE7 Architect
 
#5

Re: Button in TWebbrowser drücken!

  Alt 1. Sep 2006, 14:43
Da gibt es aber noch 2 Probleme!
1.: die ID oder der Name ändert sich jedesmal.
2.: RapidTec (also RapidShare, RapidForum, etc.) haben es in ihren AGB verboten, solche Programme zu nutzen, die die abläufe der Seite automatisieren.

Hatten wir auch schonmal hier irgendwo im forum!
Christian
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#6

Re: Button in TWebbrowser drücken!

  Alt 1. Sep 2006, 14:45
Zitat:
2.: RapidTec (also RapidShare, RapidForum, etc.) haben es in ihren AGB verboten, solche Programme zu nutzen, die die abläufe der Seite automatisieren.
Falsch. Der Dienst den la.reunion automatisieren will hat nichts mit Rapidshare zu tun. Es handelt sich bei diesem Fall um Rapidsafe, ein Dienst der Rapidshare-Links verschlüsselt.
  Mit Zitat antworten Zitat
Ydobon

Registriert seit: 3. Mär 2006
261 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Button in TWebbrowser drücken!

  Alt 1. Sep 2006, 14:57
Ich hatte es mir aber auch so ähnlich gedacht, warum sollte man sonst eine GUID als ID nehmen.
Gegen den Punkt zwei würde sich nichts machen lassen. Punkt eins wäre, wenn die Seite nicht immer total umgebaut wird, aber wenigstens etwas lösbar, elementFromPoint, eine Kollektion nur der Buttons usw.
  Mit Zitat antworten Zitat
la.reunion

Registriert seit: 30. Apr 2006
152 Beiträge
 
#8

Re: Button in TWebbrowser drücken!

  Alt 1. Sep 2006, 16:43
Danke schonmal für eure Antowrten und Überlegungen.

ich tests mal vlt find ich ja au noch was raus.


UND was ist wwenn man es durch das "tastendrücken" automatisiert?
  Mit Zitat antworten Zitat
la.reunion

Registriert seit: 30. Apr 2006
152 Beiträge
 
#9

Re: Button in TWebbrowser drücken!

  Alt 1. Sep 2006, 17:59
hier mal nochn teil mit dem ich es versucht hab:

Delphi-Quellcode:
procedure SubmitWebForm(webform:OleVariant);
var
   i : Integer;
   formitem : OleVariant;
   itemtype, itemname : string;
begin
   // Schleife über alle Items eines WebFormulars
   For i:= webform.Length-1 downto 0 do
   begin
      formitem := webform.Item(i);
      itemtype := UpperCase(formitem.Type);
      itemname := UpperCase(formitem.Name);

      // if it's a submit button: click it
      if itemtype = 'SUBMITthen
      begin
         formitem.Click;
         Exit;
      end
      else if (itemtype='BUTTON') and (itemname='Free') then
      begin
         formitem.Click;
         Exit;
      end
   end;

   // try default submit Method
   webform.submit;
end;






procedure TForm1.Button2Click(Sender: TObject);
begin
SubmitWebForm(WebBrowser1.OleObject.document.forms.Item(0));
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Webbrowser1.Navigate(Edit1.TExt);
end;

end.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:02 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