AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Vom Programm aus auf Webseitenelemente zugreifen
Thema durchsuchen
Ansicht
Themen-Optionen

Vom Programm aus auf Webseitenelemente zugreifen

Ein Thema von Rued · begonnen am 13. Jan 2023 · letzter Beitrag vom 14. Jan 2023
Antwort Antwort
Benutzerbild von Rued
Rued

Registriert seit: 14. Mai 2008
Ort: Schleching
108 Beiträge
 
Delphi 12 Athens
 
#1

AW: Vom Programm aus auf Webseitenelemente zugreifen

  Alt 13. Jan 2023, 15:25
@omnibrain:
  • Habe den Registry-Eintrag erfolglos gemacht.
  • Mit der WebView2-Komponente scheint mein Delphi 2010 überfordert zu sein, jedenfalls kann es mit dem Package von nuget nichts anfangen. [Vorausgesetzt, ich habe mit "microsoft.web.webview2.1.0.1462.37.nupkg" das richtige heruntergeladen.]
  • Mit Selenium bin ich überfordert.

Aktualisierung zu Punkt 2:
Die WebView2Loader.dll habe ich zu meinen dlls geschoben und das Post-Build-Ereignis im Projekt hinzugefügt. Jetzt fehlt mir noch die Komponente.
Rüdiger Droste

Geändert von Rued (13. Jan 2023 um 15:43 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.550 Beiträge
 
Delphi 12 Athens
 
#2

AW: Vom Programm aus auf Webseitenelemente zugreifen

  Alt 13. Jan 2023, 15:48
Das mit der Registry hat nichts mit Delphi zu tun.
Es macht Windows innerhalb der ActiveX-Komponente, welche Delphi hier nutzt.



Ohhh, das ist natürlich etwas unpraktisch.

Nja, erstmal kannst dir ja im TWebBrowser anzeigen lassen, was du eigentlich aktuell hast,
bzw. es von Seiten des Delphi-Codes auslesen.


JavaScript: navigator.appName , navigator.appVersion und navigator.userAgent

oder HTML-Conditionals:
HTML-Code:
<!--[if IE 6]> IE6 <![endif]-->
<!--[if IE 7]> IE7 <![endif]-->
<!--[if IE 8]> IE8 <![endif]-->
...
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.645 Beiträge
 
#3

AW: Vom Programm aus auf Webseitenelemente zugreifen

  Alt 13. Jan 2023, 15:56
oder HTML-Conditionals:
HTML-Code:
<!--[if IE 6]> IE6 <![endif]-->
<!--[if IE 7]> IE7 <![endif]-->
<!--[if IE 8]> IE8 <![endif]-->
...
Die Seite ist wohl eher nicht seine, so das er das nicht machen kann.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.598 Beiträge
 
Delphi 7 Professional
 
#4

AW: Vom Programm aus auf Webseitenelemente zugreifen

  Alt 13. Jan 2023, 16:09
Dafür kann man doch auch eine eigene, lokale, HTML-Datei nehmen, es geht doch nur darum herauszufinden, welche IE-Version auf dem eigenen Rechner ist bzw. welche IE-Version vom TWebBrowser im Delphi-2010-Programm emuliert wird. (Und mit der lokalen HTML-Datei kann man dann ggfls. auch prüfen, ob Änderungen in der Registry beim TWebBrowser "ankommen".)

Wenn man das weiß, kann man prüfen, welche IE-Version die Webseite (mindestens) benötigt und dann (mit ein bisserl Glück) für das eigene Programm den erforderlichen Wert in der Registry eintragen. Wird von der WebSeite eine höhere IE-Version benötigt, als man auf dem Rechner hat, wird's halt vergebliche Liebesmüh.

Weitere Werte für die Registry, die eventuell zum Erfolg führen könnten: Internet Feature Controls (B..C)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.550 Beiträge
 
Delphi 12 Athens
 
#5

AW: Vom Programm aus auf Webseitenelemente zugreifen

  Alt 13. Jan 2023, 17:27
Die Seite ist wohl eher nicht seine, so das er das nicht machen kann.
Er kann aber erstmal eine eigene Testseite laden und schauen was der IE macht.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
omnibrain

Registriert seit: 11. Nov 2022
84 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Vom Programm aus auf Webseitenelemente zugreifen

  Alt 13. Jan 2023, 16:35
@omnibrain:
  • Habe den Registry-Eintrag erfolglos gemacht.
Hast du "programmname.exe" durch den Dateinamen deines Programmes ersetzt?
@omnibrain:
  • Mit der WebView2-Komponente scheint mein Delphi 2010 überfordert zu sein, jedenfalls kann es mit dem Package von nuget nichts anfangen. [Vorausgesetzt, ich habe mit "microsoft.web.webview2.1.0.1462.37.nupkg" das richtige heruntergeladen.]

Aktualisierung zu Punkt 2:
Die WebView2Loader.dll habe ich zu meinen dlls geschoben und das Post-Build-Ereignis im Projekt hinzugefügt. Jetzt fehlt mir noch die Komponente.
Vergiss alles was du zu Delphi und WebView2 (TEdgeBrowser) gelesen hast. Ausschlaggebend ist die Anleitung bei https://www.briskbard.com/index.php?...pageid=webview ab "Installation" für das von mir verlinkte.
  Mit Zitat antworten Zitat
Benutzerbild von Rued
Rued

Registriert seit: 14. Mai 2008
Ort: Schleching
108 Beiträge
 
Delphi 12 Athens
 
#7

AW: Vom Programm aus auf Webseitenelemente zugreifen

  Alt 13. Jan 2023, 17:33
@himitsu: IE7

@omnibrain: Ja, "programmname.exe" habe ich durch den Dateinamen meines Programms ersetzt. Danke für den Link, schaue ich mir später an.

Dank an alle, die hier posten.
Rüdiger Droste
  Mit Zitat antworten Zitat
omnibrain

Registriert seit: 11. Nov 2022
84 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Vom Programm aus auf Webseitenelemente zugreifen

  Alt 13. Jan 2023, 19:59
@omnibrain: Ja, "programmname.exe" habe ich durch den Dateinamen meines Programms ersetzt. Danke für den Link, schaue ich mir später an.
Das ist halt DIE Alternative zum TWebBrowser für ältere Delphi-Versionen. Und auch mit aktuellem Delphi kann es eine Alternative zum halbherzigen TEdgeBrowser sein.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.233 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Vom Programm aus auf Webseitenelemente zugreifen

  Alt 13. Jan 2023, 20:15
Für eine solche antike Delphi-Version wie D2010 benötigt man auf jedenfall die EmbeddedWB-Komponenten wie von hier:
https://github.com/ghquant/Delphi-Em...Me_Install.txt
(Leider hat der ursprüngliche Entwickler das Projekt nicht gut übergeben, so es es diverse Versionstände mit unterschiedlichen Fixes für neuere Delphis gibt).
Warum ist das nötig: Der TWebbrowser von dieser alten Delphi-Version hat ein paar Bugs und unzulänglichkeiten (z.B. fehlerhafte Referenzzählung bei Interfaces auf HTML-Elemente).

in neueren Delphi-Versionen wurden diese gefixt, so das man dann direkt TWebbrowser nutzen konnte..

Das CEF (Chromium Embedded Framework) hatten wir einige Zeit genutzt, da TWebbrowser auch im IE11 einfach zu langsam und zu viele Fehler beim Render komplexerer Webdaten hatte.
Mittlerweile sind wir bei TEdge-Control von Delphi 10.4. Damit sparen wir die mittlerweile sehr große Runtime mitzuliefern und haben auch MP4 "out of the box" dabei.

Ich würde auf jedenfalls mal aktuelles Delphi in der Community-Edition anschauen.
Würde heute nicht mehr (von 10.4) zurück auf eine solch alte Delphi-Version wollen.
Zu groß sind die Vorteile der moderneren VCL und der Sprachfeatures.
Und gefühlt ist es (Unser weg war D6 -> XE6 -> 10.2 -> 10.4) das stabilste Delphi das wir bisher hatten.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Rued
Rued

Registriert seit: 14. Mai 2008
Ort: Schleching
108 Beiträge
 
Delphi 12 Athens
 
#10

AW: Vom Programm aus auf Webseitenelemente zugreifen

  Alt 14. Jan 2023, 16:11
@Bernhard Geyer:

Die EmbeddedWB-Komponenten habe ich früher verwendet, dann wieder rausgeschmissen, will ich sie jetzt wieder installieren, kommt die Fehlermeldung, "Fehler im Modul: Modul-Header fehlt oder ist fehlerhaft".

Die Community-Edition 10.4 versuche ich seit drei Tagen zu registrieren, mit dem im Anhang sichtbaren Ergebnis.

Der kontaktierte Support unterstellt, ich hätte das falsche Produkt installiert:

Zitat:
Hello ,

This is Ken from the Embarcadero IDERA Technical Support team. I am contacting you regarding Case # 00980274 - "Keine gültigen Lizenzinformationen..."

The serial provided is a community edition license, in the case you list the product as version 11. The license is for 10.4.2 not for version 11. If you are really installing 10.4.2 then you might want to try the following below:

1. uninstall the product
2. rename the Embarcadero folder from C:\ProgramData\Embarcadero
-program data is a hidden folder-
3. create new folder move install exe file from downloads folder to an isolated folder
4. right click run as admin to install
5. register product with serial number
Serial number: 34CL-FX.....
Vermutlich muss ich die Prozedur jetzt doch auf mich nehmen. Das sind alles solche Zeitfresser...

Gruß
Rued
Angehängte Grafiken
Dateityp: jpg puffer1.jpg (81,8 KB, 11x aufgerufen)
Dateityp: jpg puffer2.jpg (19,9 KB, 9x aufgerufen)
Rüdiger Droste
  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 07:08 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