![]() |
ChromeFrame ansprechen und automatisieren
Hallo Leute,
hab Delphi7 auf einem WinXp Rechner Dann im XP "Google Chrome Frame" installiert ![]() Dann von Progdigy den sourcecode für ChromeFrame installiert ![]() und anschließend einen kleinen Test gestartet... In meiner Delphi Anwendung hab ich nun einen ChromeFrame .. Aber es funktioniert kein Hyperlink im Frame und keine Weiterleitungen (nicht mal ![]() Was will ich?: Gehen tuts hauptsächlich um Gastronomieseiten wie booking.com, hotel.de, feratel.at - Eine Sekretärin klickt auf einen Button und die verschiedenen Schritte werden bis zu einem bestimmten Grad automatisch (mit teilweise Werten aus Datenbank) durchgeführt (Eingabe Benutzername, Kennwort, klick auf Menüpunkte ect..) ??? Hat jemand einen Vorschlag, wie ich folgendes Beispiel via Delphi & Chrome lösen könnte: - Seite Aufrufen: ![]() - finde Input-Field "EmailOrUserName" und schreib Wert rein - finde Input-Field "UserPass" und schreibe Wert rein - finde Button id="LoginFormButton" und simuliere Click - Wenn neue Seite fertig geladen ist - mache ... u.s.w. Vielen Dank Erich P.s: Den TWEbBrowser von Delphi7 möchte ich nicht mehr verwenden - der ist schon zu alt... Im TWebbrowser hab ich bis dato Seiten aufgerufen, diverse Felder ausgefüllt und klicks simuliert TWebbrowser Klick simulieren
Delphi-Quellcode:
TWebbrowser Texteingabe
function WB_ClickLink(WB: TWebbrowser; const LinkText: string): Boolean;
var HTMLDocument2: IHTMLDocument2; Element: IHTMLElement; I: Integer; begin HTMLDocument2 := WB.Document as IHTMLDocument2; for I := 0 to HTMLDocument2.Links.Length - 1 do begin Element := HTMLDocument2.Links.Item(I, 0) as IHTMLElement; if Element.GetAttribute('innerText', 0) = LinkText then begin Element.Click; Break; end; end; end;
Delphi-Quellcode:
Hat eigentlich wunderbar funktioniert...
Clipboard.SetTextBuf(PChar(edit1.text)); // in die Zwischenablage
Sleep(100); Webbrowser1.OleObject.Document.All.Item('file1').Focus; // das Uploadfeld 1 finden Sleep(100); Webbrowser1.ExecWB(OLECMDID_PASTE, 0); und hier die simple Chrome-Unit, mit der ich bis dato nicht mal eine funktionstüchtige Seite reinladen kann :-(
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ChromeTabLib, StdCtrls, Buttons, ToolWin, ComCtrls, ExtCtrls, ActnList, Menus; type TForm1 = class(TForm) ChromeFrame1: TChromeFrame; Panel1: TPanel; SpeedButton6: TSpeedButton; Edit1: TEdit; procedure ChromeFrame1Message(ASender: TObject; const event: OleVariant); procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure SpeedButton6Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} // Name: ChromeFrame1 // Properties: Privileged = true; procedure TForm1.ChromeFrame1Message(ASender: TObject; const event: OleVariant); begin MessageDlg(event.data, mtInformation, [mbOK], 0); end; procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin ChromeFrame1.Navigate(Edit1.Text); Abort; end; end; procedure TForm1.SpeedButton6Click(Sender: TObject); begin ChromeFrame1.Navigate('http://www.google.com'); end; end. |
AW: ChromeFrame ansprechen und automatisieren
Zitat:
Es gibt auch noch eine verbesserte TWebBrowser-Variante: ![]() Zu dem Chrome-Control kann ich nichts sagen. |
AW: ChromeFrame ansprechen und automatisieren
Ich würde dir dringend raten die Finger von Chrome Frame zu lassen und besser direkt Chromium zu integrieren...
![]() Das ist einfacher und man muss auf dem System nix installieren. |
AW: ChromeFrame ansprechen und automatisieren
Das Chrome-Frame ist ja wohl für etwas anderes gedacht als darüber das ActiveX-Interfacemodell des IE bereit zu stellen
|
AW: ChromeFrame ansprechen und automatisieren
wie könnte ich Felder in einer extra laufende Chrome Session einfügen?
-zuerst wahrscheinlich den Handle des Fensters herausfinden - dann? |
AW: ChromeFrame ansprechen und automatisieren
warum willst du denn unbedingt einen 2. Browser einbinden wenn es den IE auf jedem Windows Rechner vorinstalliert gibt?!
Was genau gefällt dir denn an TWebBrowser nicht? |
AW: ChromeFrame ansprechen und automatisieren
auf dem (internen) System wo die Seite abgerufen wird kann nur XP laufen, somit max IE8.
die Seite hat spezielle Inhalte, Java Scripts, riesige Tabellen, womit IE8 leider nicht zurecht kommt. im Chrome funkt alles prima...das ist mein Problem |
AW: ChromeFrame ansprechen und automatisieren
Und was stört dich daran Chromium direkt zu integrieren? Das funktioniert bei uns problemlos und vor allem eben ohne Änderungen am System usw.
Da mit laufenden Chrome-Instanzen herumzuhantieren ist doch... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:01 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