![]() |
Webbrowser Radiobutton ansprechen
Guten Tag liebe Delphi Community ;)
Ich krieg es einfach nicht gebacken einen Radiobutton mit der Komponente Webbrowser1 anzusprechen Habe schon zahlreiche Codes hier verwendet dafür doch bis jetzt hat keine funktioniert :(
Code:
Könnten sie mir ein funktionierenden Code übermitteln der auch schon getestet wurde ;)
<div class="dxf_div_right"><label for="spende_modus1" id="label_spende_modus1">einmalig</label></div>
<div class="dxf_div_left"><input type="radio" name="spende_modus" onclick="dxfZahlungsartSwitchValues(this.value)" class="dxf_fie_req" tabindex="10" id="spende_modus1" value="einmalig" title="einmalig" /></div> <div style="clear:both"></div> </div> Und wäre auch noch nett wenn sie mir auch grad ein Codebeispiel geben wie mann Select Felder und Checkboxen anspricht ;) Mit freundlichen Grüßen Speedfighter |
Re: Webbrowser Radiobutton ansprechen
Hallo und Willkommen in der DP :cheer:
Für das ![]() |
Re: Webbrowser Radiobutton ansprechen
Danke schön,
Ja den 1500 Zeiler habe ich mir angekuckt ;) Aber ich habe dort nix gefunden. Es sollte ja etwa so gehen : Mann klickt auf einen Button und dann soll er die Checkbox oder den Radiobutton markieren :/ Mit freundlichen Grüßen, Speedfighter |
Re: Webbrowser Radiobutton ansprechen
Die Funktion befindet sich in der Unit WBFuncs und heißt WB_SetRadioCheckboxField()
Aufruf für einen Radiobutton:
Delphi-Quellcode:
Aufruf für eine Checkbox:
WB_SetRadioCheckboxField(WB, 'checkbox', 'RadioButtonName', True);
Delphi-Quellcode:
In deinem Fall sollte es so gehen:
WB_SetRadioCheckboxField(WB, 'radio', 'CheckboxName', True);
Delphi-Quellcode:
WB_SetRadioCheckboxField(WB, 'checkbox', 'spende_modus', True);
Delphi-Quellcode:
function WB_FindFieldByValue(WebBrowser: TWebBrowser; FieldType, FieldValue: string; var Field: TPoint): boolean;
var i, j: Integer; FormItem: Variant; begin Result := False; if Assigned(WebBrowser.Document) then begin if WebBrowser.OleObject.Document.all.tags('FORM').Length <> 0 then for I := 0 to WebBrowser.OleObject.Document.forms.Length - 1 do begin FormItem := WebBrowser.OleObject.Document.forms.Item(I); for j := 0 to FormItem.Length - 1 do begin try if (FormItem.Item(j).Value = FieldValue) and (FormItem.Item(j).Type = FieldType) then begin Field.x := i; Field.Y := j; Result := True; Exit; end; except // Exit; end; end; end; end; end; function WB_SetRadioCheckboxField(WebBrowser: TWebBrowser; FieldType, FieldValue: string; Checked: boolean): Boolean; var Field: TPoint; begin Result := WB_FindFieldByValue(WebBrowser, FieldType, FieldValue, Field); if Result then try WebBrowser.OleObject.Document.forms.Item(Field.x).Item(Field.y).Checked := Checked; Result := True; except Result := False; end; end; |
Re: Webbrowser Radiobutton ansprechen
Code:
Den Code den sie oben gepostet haben hat net geklappt wegen dem WB was hat das eigentlich zu bedeuten ...
WB_SetRadioCheckboxField(WebBrowser1, 'checkbox', 'allgemein_datenschutzerklaerung', True);
Es kommt immer ein Fehler --------------------------- Benachrichtigung über Debugger-Exception --------------------------- Im Projekt Project1.exe ist eine Exception der Klasse EOleError mit der Meldung 'Die Methode 'Value' wird vom Automatisierungsobjekt nicht unterstützt' aufgetreten. --------------------------- Anhalten Fortsetzen Hilfe --------------------------- In der Zeile ist der Fehler
Code:
if (FormItem.Item(j).Value = FieldValue) and
|
Re: Webbrowser Radiobutton ansprechen
Zitat:
WB=WebBrowser ....Du musst die UNIT WBFuncs mit einbinden..wie "toms" oben schrieb!! |
Re: Webbrowser Radiobutton ansprechen
Entschuldigen sie aber es kam dort immer dieser Fehler
[Pascal Fataler Fehler] Unit1.pas(7): F1026 Datei nicht gefunden: 'WBFuncs.dcu' |
Re: Webbrowser Radiobutton ansprechen
Zitat:
Die Unit ist beim Webbrowser im Verzeichnis "unit" enthalten...das Verzeichnis muss , beim compilieren, im Suchpfad eingetragen sein..Optionen/Verzeichnisse sowie in der Uses Anweisung angegeben werden. |
Re: Webbrowser Radiobutton ansprechen
Es exestiert kein Ordner mit den Namen "unit" nur mit "Dunit"
|
Re: Webbrowser Radiobutton ansprechen
Die Unit wird nicht unbedingt benötigt, du kannst einfach die 2 Funktionen von oben nehmen.
Die Fehlermeldung sollte außerhalb von Delphi nicht auftreten. |
Re: Webbrowser Radiobutton ansprechen
[Pascal Fehler] Unit1.pas(93): E2010 Inkompatible Typen: 'TWebBrowser' und 'TGUID'
[Pascal Fataler Fehler] Project1.dpr(5): F2063 Verwendete Unit 'Unit1.pas' kann nicht compiliert werden
Code:
lol und was ist jetzt der Fehler?
WB_SetRadioCheckboxField(WB, 'checkbox', 'allgemein_datenschutzerklaerung', True);
|
Re: Webbrowser Radiobutton ansprechen
Zitat:
Poste mal Deinen Quelltext...wir schauen mal.... |
Re: Webbrowser Radiobutton ansprechen
Hier mein Kompletter Quelltext
Code:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, OleCtrls, SHDocVw, XPMan, ExtCtrls; type TForm1 = class(TForm) WebBrowser1: TWebBrowser; GroupBox1: TGroupBox; LabeledEdit1: TLabeledEdit; LabeledEdit2: TLabeledEdit; XPManifest1: TXPManifest; LabeledEdit3: TLabeledEdit; LabeledEdit4: TLabeledEdit; LabeledEdit5: TLabeledEdit; LabeledEdit6: TLabeledEdit; Button1: TButton; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation function WB_FindFieldByValue(WebBrowser: TWebBrowser; FieldType, FieldValue: string; var Field: TPoint): boolean; var i, j: Integer; FormItem: Variant; begin Result := False; if Assigned(WebBrowser.Document) then begin if WebBrowser.OleObject.Document.all.tags('FORM').Length <> 0 then for I := 0 to WebBrowser.OleObject.Document.forms.Length - 1 do begin FormItem := WebBrowser.OleObject.Document.forms.Item(I); for j := 0 to FormItem.Length - 1 do begin try if (FormItem.Item(j).Value = FieldValue) and (FormItem.Item(j).Type = FieldType) then begin Field.x := i; Field.Y := j; Result := True; Exit; end; except // Exit; end; end; end; end; end; function WB_SetRadioCheckboxField(WebBrowser: TWebBrowser; FieldType, FieldValue: string; Checked: boolean): Boolean; var Field: TPoint; begin Result := WB_FindFieldByValue(WebBrowser, FieldType, FieldValue, Field); if Result then try WebBrowser.OleObject.Document.forms.Item(Field.x).Item(Field.y).Checked := Checked; Result := True; except Result := False; end; end; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin WebBrowser1.OleObject.document.forms.item(0).elements.item('person_vorname').value:='Eric'; WebBrowser1.OleObject.document.forms.item(0).elements.item('person_nachname').value:='Abt'; WebBrowser1.OleObject.document.forms.item(0).elements.item('adresse_strasse').value:='Knesebeckstrasse'; WebBrowser1.OleObject.document.forms.item(0).elements.item('adresse_postleitzahl').value:='57639'; WebBrowser1.OleObject.document.forms.item(0).elements.item('person_email').value:='Spende@discardmail.com'; WebBrowser1.OleObject.document.forms.item(0).elements.item('adresse_hausnummer').value:='43'; WebBrowser1.OleObject.document.forms.item(0).elements.item('adresse_ort').value:='Oberdreis'; WebBrowser1.OleObject.document.forms.item(0).elements.item('kreditkarte_nummer').value:=LabeledEdit1.text; WebBrowser1.OleObject.document.forms.item(0).elements.item('kreditkarte_inhaber').value:=LabeledEdit2.text; WebBrowser1.OleObject.document.forms.item(0).elements.item('kreditkarte_kpn').value:=LabeledEdit6.text; WB_SetRadioCheckboxField(WB, 'checkbox', 'allgemein_datenschutzerklaerung', True); end; procedure TForm1.FormCreate(Sender: TObject); begin webbrowser1.Navigate('https://www.aerzte-ohne-grenzen.de/Spenden/Online.php'); end; end. |
Re: Webbrowser Radiobutton ansprechen
noch keine Antwort, erst schauen muss..aber mal eins...
[OT] Dir mal nen Lob aussprech...wenn alle so waeren hier in der DP...weiter so..dann machts auch wieder Spass zu helfen.. Sollten sich einige mal abschauen!!!! [/OT] [EDIT]
Delphi-Quellcode:
Du musst anstatt "WB"..."Webbrowser1" schreiben!!
WB_SetRadioCheckboxField(WB, 'checkbox', 'allgemein_datenschutzerklaerung', True);
[/EDIT] |
Re: Webbrowser Radiobutton ansprechen
---------------------------
Benachrichtigung über Debugger-Exception --------------------------- Im Projekt Project1.exe ist eine Exception der Klasse EOleError mit der Meldung 'Die Methode 'Value' wird vom Automatisierungsobjekt nicht unterstützt' aufgetreten. --------------------------- Anhalten Fortsetzen Hilfe --------------------------- da kommt immer wieder dieser Fehler :( Wie kann ich die Unit da in Delphi benutzen? vllt hat jemand Teamviewer oder VNC? |
Re: Webbrowser Radiobutton ansprechen
Der Wert "VALUE" ist nich definiert auf der Web-Site..schau mal mit "toms" seinem WINSPY 2008 (suche in der DP)..wie die Felder genau heissen.
|
Re: Webbrowser Radiobutton ansprechen
So hab das Tool jetzt aber kann mann damit echt herausfinden wie der Radiobutton heisst :P sieht net so aus bei mir
|
Re: Webbrowser Radiobutton ansprechen
Zitat:
|
Re: Webbrowser Radiobutton ansprechen
Bei welcher Zeile tritt der Fehler auf?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:53 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