Autor Beitrag
RoyKeane
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Sa 31.03.07 14:55 
hallo,
ich bin gerade dabei mit OLE ein kleines programm zu schreiben, das den internet browser fernsteuert, sich einloggt (zb. bei gmx - das klappt schon) und formulare ausfüllt. (das funzt bis jetzt auch ganz gut). aber jetzt muss ich einen link ausführen, und da hab ich trotz intensiver suche noch nichts brauchbares rausbekommen. der quelltext der seite sieht ungefähr so aus:
ausblenden Quelltext
1:
2:
3:
  <tr>
  <td background="img/nav_back.gif"><a href="name.php"><span id="id1">blabla</span></a></td>
  </tr>


ich möchte jetzt den link blabla anklicken bzw. das script name.php ausführen. bis jetzt hab ich mir das nach und nach zusammen geflickt, was aber nur zu fehlern geführt hat:

ausblenden volle Höhe Delphi-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:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
  var
    ShellWindow: IShellWindows;
    spDisp: IDispatch;
    IDoc1: IHTMLDocument2;
    WB: IWebbrowser2;
    document : variant;
    k : integer;

begin

  ShellWindow := CoShellWindows.Create;
  // get the running instance of Internet Explorer
  for k := 0 to ShellWindow.Count do
    begin
    spDisp := ShellWindow.Item(k);
    if spDisp = nil then Continue;
    // QueryInterface determines if an interface can be used with an object
    spDisp.QueryInterface(iWebBrowser2, WB);
    if WB <> nil then
      begin
      WB.Document.QueryInterface(IHTMLDocument2, iDoc1);
      if iDoc1 <> nil then
        begin
        WB := ShellWindow.Item(k) as ShDocVW_TLB.IWebbrowser2;
        Document := WB.Document;

        // Hyperlink ausführen
        // IDoc1.location.Assign_('http://www.blabla.de/name.php'); 
        // IDoc1.location.replace('http://www.blabla.de/name.php'); 
        // IDoc1.location := 'http://www.blabla.de/name.php';  
        // IDoc1.location.href := 'http://www.blabla.de/name.php'; 
        (* klappt leider alles noch nicht :( *)

        end;  { iDoc1 <> nil }
      end{ WB <> nil }
    end;  { for k }


ich kann den link zwar ansprechen, aber nicht mit ".Click" oder so ausführen. seht ihr da eine möglichkeit, wie das problemchen zu lösen ist?

danke schon mal

Roy Keane