![]() |
Vom Programm aus auf Webseitenelemente zugreifen
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo!
Da mein TWebBrowser (in Delphi 2010) mit den zahlreichen Scripten der Seite ![]() Wie komme ich z. B. an die Handles der Checkboxen? Gruß Rued P.S.: Silent = true für TWebBrowser ist keine Lösung, da die Scripte ausgeführt werden müssen. |
AW: Vom Programm aus auf Webseitenelemente zugreifen
Der IE basierte Webview steckt standardmäßig auf dem Funktionsniveau von IE 6 oder 7 fest. Du kannst ihm per Registry-Eintrag aber sagen, dass für dein Programm ein höheres Niveau gelten soll:
Code:
Der eine ist für 32 Bit, der andere für 64 Bit.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
"programmname.exe"=dword:00002af8 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION] "programmname.exe"=dword:00002af8 Alternativ kannst du schauen ob du den Edge(Chromium) basierten WebView2 mit folgender Komponenten nurtzen kannst: ![]() Oder du automatisierst den Zugriff ganz anders, mit einem Tool wie Selenium? Die Frage ist aber auch: Hat die Seite "Abwehrmaßnamen" und lassen die Nutzungsbedingungen automatisierten Zugriff zu? |
AW: Vom Programm aus auf Webseitenelemente zugreifen
Der TWebBrowser lässt sich auch auf Edge umstellen,
bzw. direkt TEdgeBrowser. ![]() |
AW: Vom Programm aus auf Webseitenelemente zugreifen
Zitat:
|
AW: Vom Programm aus auf Webseitenelemente zugreifen
@omnibrain:
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. |
AW: Vom Programm aus auf Webseitenelemente zugreifen
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. :oops: 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]--> ... |
AW: Vom Programm aus auf Webseitenelemente zugreifen
Zitat:
|
AW: Vom Programm aus auf Webseitenelemente zugreifen
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: ![]() |
AW: Vom Programm aus auf Webseitenelemente zugreifen
Zitat:
Zitat:
![]() |
AW: Vom Programm aus auf Webseitenelemente zugreifen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:15 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