AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Auf HTML Seite Feld ausfüllen
Thema durchsuchen
Ansicht
Themen-Optionen

Auf HTML Seite Feld ausfüllen

Ein Thema von DelTurbo · begonnen am 18. Okt 2024 · letzter Beitrag vom 20. Okt 2024
Antwort Antwort
Benutzerbild von himitsu
himitsu

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

AW: Auf HTML Seite Feld ausfüllen

  Alt 18. Okt 2024, 15:27
@Phoenix
const?
[edit] Achso, im JavaScript, nicht im Delphi. (dort ist sowas Grauenhaftes Eigenartiges ja normal) [/edit]

"Suchen" meint, dass du dir die Instanz dieses Elements im DOM besorgst (nicht die Definition im XML-Text)
und damit kannst du dann was machen.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (18. Okt 2024 um 15:31 Uhr)
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.245 Beiträge
 
Delphi 2007 Architect
 
#2

AW: Auf HTML Seite Feld ausfüllen

  Alt 19. Okt 2024, 09:05
Achso, nun hab ich kapiert. Manchmal hab ich ne lange Leitung.
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.245 Beiträge
 
Delphi 2007 Architect
 
#3

AW: Auf HTML Seite Feld ausfüllen

  Alt 19. Okt 2024, 11:09
Leider klappt der "click" nicht. Ich mache das mit WebView2Delphi. Hier das was ich mache. Im Suchfeld kann man "Sony" sehen.

Delphi-Quellcode:
    WVBrowser.ExecuteScript('const inputField = document.querySelector(''input[placeholder="Wonach suchen Sie? (Tipp: Suche mit englischen Begriffen)"]'');');
    WVBrowser.ExecuteScript('const button = inputField.parentElement.querySelector(''button'');');
    WVBrowser.ExecuteScript('inputField.value = ''Sony'';');
    WVBrowser.ExecuteScript('button.click();');
Nachtrag: Trage ich von Hand Samsung ein, dann klappt der click. Lasse ich das Script durch laufen kann ich nicht mal mehr per Hand klicken.
Der Testablauf: Seite kommt. Ich klicke auf einen Button der den Code oben ausführt. Dann kann ich nicht mehr auf den button klicken. Änder ich den Test von Hand und lasse das Skript wieder laufen klappt der klick. Er trägt zwar wieder Sony ein, aber gesucht wird nach dem Wort was ich eingetippt habe.
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!

Geändert von DelTurbo (19. Okt 2024 um 11:16 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
779 Beiträge
 
#4

AW: Auf HTML Seite Feld ausfüllen

  Alt 19. Okt 2024, 11:29
Ist die Seite auch zuvor vollständig geladen?

Der Button hat kein onClick oder Ähnliches. Da gibt es im Hintergrund bestimmt noch etwas Javascript für.
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.245 Beiträge
 
Delphi 2007 Architect
 
#5

AW: Auf HTML Seite Feld ausfüllen

  Alt 19. Okt 2024, 11:33
Jop, die Seite ist komplett geladen. Deswegen habe ich mich erstmal dafür entschieden selber das Script zu starten. Trage ich z.b. Samsung ein und Starte dann das Script, dann steht dort wieder Sony, aber der klickt geht. Allerdings sucht er dann nach Samsung. Nicht nach dem was im Suchfeld steht.
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
779 Beiträge
 
#6

AW: Auf HTML Seite Feld ausfüllen

  Alt 19. Okt 2024, 12:01
Dann würde ich das mal in zwei Schritten machen: Zuerst den Text setzen und in einem zweiten Befehl den Button drücken.

Edit: Du scheinst es ja schon in 4 Befehlen zu machen!?
  Mit Zitat antworten Zitat
Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
779 Beiträge
 
#7

AW: Auf HTML Seite Feld ausfüllen

  Alt 19. Okt 2024, 12:04
geht das?

Code:
    WVBrowser.ExecuteScript('var inputField = document.querySelector(''input[placeholder="Wonach suchen Sie? (Tipp: Suche mit englischen Begriffen)"]'');');
    WVBrowser.ExecuteScript('inputField.value = ''Sony'';');
    WVBrowser.ExecuteScript('var inputField = document.querySelector(''input[value="Sony"]'');');
    WVBrowser.ExecuteScript('var button = inputField.parentElement.querySelector(''button'');');
    WVBrowser.ExecuteScript('button.click();');

Geändert von Olli73 (19. Okt 2024 um 12:06 Uhr) Grund: Code editiert
  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 14:35 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