Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Webbrowser Radiobutton ansprechen (https://www.delphipraxis.net/115459-webbrowser-radiobutton-ansprechen.html)

Speedfighter 12. Jun 2008 12:48


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:
<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>
Könnten sie mir ein funktionierenden Code übermitteln der auch schon getestet wurde ;)

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

toms 12. Jun 2008 14:12

Re: Webbrowser Radiobutton ansprechen
 
Hallo und Willkommen in der DP :cheer:

Für das Mini Webbrowser Demo habe ich solche Funktionen geschrieben. Hast du diese auch schon ausprobiert?

Speedfighter 12. Jun 2008 14:27

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

toms 12. Jun 2008 16:02

Re: Webbrowser Radiobutton ansprechen
 
Die Funktion befindet sich in der Unit WBFuncs und heißt WB_SetRadioCheckboxField()

Aufruf für einen Radiobutton:

Delphi-Quellcode:
  WB_SetRadioCheckboxField(WB, 'checkbox', 'RadioButtonName', True);
Aufruf für eine Checkbox:

Delphi-Quellcode:
  WB_SetRadioCheckboxField(WB, 'radio', 'CheckboxName', True);
In deinem Fall sollte es so gehen:

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;

Speedfighter 12. Jun 2008 16:12

Re: Webbrowser Radiobutton ansprechen
 
Code:
WB_SetRadioCheckboxField(WebBrowser1, 'checkbox', 'allgemein_datenschutzerklaerung', True);
Den Code den sie oben gepostet haben hat net geklappt wegen dem WB was hat das eigentlich zu bedeuten ...

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

Der.Kaktus 12. Jun 2008 16:43

Re: Webbrowser Radiobutton ansprechen
 
Zitat:

Zitat von Speedfighter
Code:
WB_SetRadioCheckboxField(WebBrowser1, 'checkbox', 'allgemein_datenschutzerklaerung', True);
Den Code den sie oben gepostet haben hat net geklappt wegen dem WB was hat das eigentlich zu bedeuten ...

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


WB=WebBrowser ....Du musst die UNIT WBFuncs mit einbinden..wie "toms" oben schrieb!!

Speedfighter 12. Jun 2008 16:44

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'

Der.Kaktus 12. Jun 2008 16:51

Re: Webbrowser Radiobutton ansprechen
 
Zitat:

Zitat von Speedfighter
Entschuldigen sie aber es kam dort immer dieser Fehler

[Pascal Fataler Fehler] Unit1.pas(7): F1026 Datei nicht gefunden: 'WBFuncs.dcu'


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.

Speedfighter 12. Jun 2008 17:06

Re: Webbrowser Radiobutton ansprechen
 
Es exestiert kein Ordner mit den Namen "unit" nur mit "Dunit"

toms 12. Jun 2008 17:23

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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:24 Uhr.
Seite 1 von 2  1 2      

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