Entwickler-Ecke

Internet / Netzwerk - TWebBrowser Mausklick simulieren


F.Art - Di 05.11.02 03:27
Titel: TWebBrowser Mausklick simulieren
Wie kann ich mit dem WebBrowser auf ein bild klicken lassen was er geladen hat?


Steven - Do 21.11.02 21:24

du kannst dir unter http://skripts.virtualave.net/passwort.rar ein beispiel runterladen

anstatt


Quelltext
1:
2:
   if iInputElement.Get_name='submit' 
           then iInputElement.Get_form.submit;

trägst du ein:


Quelltext
1:
2:
if iInputElement.Get_type_='image' 
           then iInputElement.Get_form.submit;


F.Art - Di 29.07.03 17:21

Nun habe ich folgendes Problem,
ich möchte ein IFrame Button anklicken lassen wie mache ich denn dies?


Cyrus - Di 29.07.03 17:25

maus position ermitten und danns dir maus dort hin setzen und den klick simulieren:


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
// Get mouse positon 

procedure TForm1.Button1Click(Sender: TObject); 
var 
  MausPos: TPoint; 
begin 
  GetCursorPos(MausPos); 
  label1.Caption := IntToStr(MausPos.x); 
  label2.Caption := IntToStr(MausPos.y); 
end; 

// Set mouse position to (x,y) 

procedure TForm1.Button2Click(Sender: TObject); 
begin 
  SetCursorPos(600, 600); 
end;


klick simulieren:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
// Set the mouse cursor to position x,y: 
// Maus an Position x,y setzen: 
SetCursorPos(x, y); 

// Simulate the left mouse button down 
// Linke Maustaste simulieren 
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); 
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); 

// Simulate the right mouse button down 
// Rechte Maustaste simulieren 
mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0); 
mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0); 

// Simulate a double click 
// Einen Doppelklick simulieren 
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); 
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); 
GetDoubleClickTime; 
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); 
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); 

// Simulate a double click on a panel 
// Einen Doppelklick auf einen Panel simulieren 
SendMessage(Panel1.Handle, WM_LBUTTONDBLCLK, 10, 10)


Greetz Cyrus


F.Art - Di 29.07.03 17:41

Wie bekomme ich direkt die Mausposition raus ohne immer aus zu probieren?
Zusätzlich ist die Position je nach auflösung und position des Fensters anders.
Gibt es vieleicht noch eine andere Lösung, wie klick IFrame oder so?