AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke ChromeFrame ansprechen und automatisieren

ChromeFrame ansprechen und automatisieren

Ein Thema von erich.wanker · begonnen am 15. Mai 2012 · letzter Beitrag vom 31. Jul 2012
Antwort Antwort
Benutzerbild von erich.wanker
erich.wanker

Registriert seit: 31. Jan 2008
Ort: im schönen Salzburger Land
459 Beiträge
 
Delphi XE4 Professional
 
#1

ChromeFrame ansprechen und automatisieren

  Alt 15. Mai 2012, 13:28
Hallo Leute,

hab Delphi7 auf einem WinXp Rechner
Dann im XP "Google Chrome Frame" installiert https://developers.google.com/chrome/chrome-frame/
Dann von Progdigy den sourcecode für ChromeFrame installiert http://www.progdigy.com/files/chrometab.zip
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 http://www.google.de) - auch finde ich keine Events (Document geladen ect..)

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: https://www.hotel.de/Customer/Profile?lng=DE
- 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:
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;
TWebbrowser Texteingabe
Delphi-Quellcode:
  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);
Hat eigentlich wunderbar funktioniert...




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.
Erich Wanker - for life:=1971 to lebensende do begin ..
O
/H\
/ \
  Mit Zitat antworten Zitat
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: ChromeFrame ansprechen und automatisieren

  Alt 15. Mai 2012, 13:46
Zitat:
Den TWEbBrowser von Delphi7 möchte ich nicht mehr verwenden - der ist schon zu alt...
TWebBrowser verwendet den aktuell installierten Internet Explorer. Die Komponente ist also so alt wie der installierte Browser

Es gibt auch noch eine verbesserte TWebBrowser-Variante: TEmbeddedWB

Zu dem Chrome-Control kann ich nichts sagen.
Andreas Lauß
Blog
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.406 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: ChromeFrame ansprechen und automatisieren

  Alt 15. Mai 2012, 15:07
Ich würde dir dringend raten die Finger von Chrome Frame zu lassen und besser direkt Chromium zu integrieren...
http://code.google.com/p/delphichromiumembedded/
Das ist einfacher und man muss auf dem System nix installieren.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.174 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: ChromeFrame ansprechen und automatisieren

  Alt 15. Mai 2012, 15:27
Das Chrome-Frame ist ja wohl für etwas anderes gedacht als darüber das ActiveX-Interfacemodell des IE bereit zu stellen
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
r_amse_s

Registriert seit: 31. Jul 2004
107 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: ChromeFrame ansprechen und automatisieren

  Alt 31. Jul 2012, 15:04
wie könnte ich Felder in einer extra laufende Chrome Session einfügen?
-zuerst wahrscheinlich den Handle des Fensters herausfinden
- dann?
liebe Grüße
ramsi
  Mit Zitat antworten Zitat
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#6

AW: ChromeFrame ansprechen und automatisieren

  Alt 31. Jul 2012, 15:10
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?
  Mit Zitat antworten Zitat
r_amse_s

Registriert seit: 31. Jul 2004
107 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: ChromeFrame ansprechen und automatisieren

  Alt 31. Jul 2012, 15:21
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
liebe Grüße
ramsi
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.406 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: ChromeFrame ansprechen und automatisieren

  Alt 31. Jul 2012, 15:50
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...
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 20:41 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