Entwickler-Ecke

Internet / Netzwerk - Internet Radiobutton klicken


Die Brotmafia - Fr 20.06.08 18:47
Titel: Internet Radiobutton klicken
Ich würde gerne ein Programm machen, welches auf einer Seite im Internet alle paar Sekunden einen RadioButton anklickt. Der Quellcode in der Seite ist so:


Quelltext
1:
onclick="document.voteForm.r4785930[1].checked=true;document.voteForm.submit();">                    


Habe vor etlichen Monaten oder gar Jahren mal hingekriegt, dass Delphi auf mit dem Web-Browser (welcher bei Delphi7 dabei ist) auf ein Image klicken konnte, habe aber gerade keine Idee inwiefern ich das jetzt auf nen Radio-Button übertragen kann... Bin für jede Hilfe dankbar!


Nowo - Fr 20.06.08 23:37

Also wenn es nur auf deinem Bildschirm läuft kannst du ja einfach einen Bildschirm Klick auf diesem Pixelhaufen ausführen lassen :wink:

Denke da gibt es weitaus profesionellere Lösungen :o


<TargeT> - Sa 21.06.08 00:42

Wenn du die Seite im WebBrowser aufrufst dann kannste es so machen

WebBrowser1.OleObject.document.forms.item(0).elements.item('NAME-RADIOBUTTON').checked:= true


Die Brotmafia - Sa 21.06.08 12:47


Quelltext
1:
2:
            <input type="radio" style="cursor:pointer;" name="r9417970" value="4" onclick="this.form.submit()">4          </div>
                                <div id="r5" class="rateval"

Das steht auch noch dabei...

Wie kommst du auf

WebBrowser1.OleObject.document.forms.item(0).elements.item('NAME-RADIOBUTTON').checked:= true

? Ich wär da nie draufgekommen....

Ach ja: Wenn ich es ausprobiere kommt "Method 'items' not supported by automation object."....

Irgendwelche Vorschläge? Kann jemand was damit anfangen, wenn ich die Seite reinposte? Vielleicht irgend einen Anhaltspunkt?

Danke!

Edit: Hab es jetzt hinbekommen, allerdings nicht so wie ich wollte. Habe es so gemacht, dass das Programm jetzt einfach mit der Maus auf die Radiobuttons klickt, was natürlich doof ist da ich solange nix anderes machen kann, da die Maus benutzt wird...


<TargeT> - So 22.06.08 20:44

user profile iconDie Brotmafia hat folgendes geschrieben:

Wie kommst du auf

WebBrowser1.OleObject.document.forms.item(0).elements.item('NAME-RADIOBUTTON').checked:= true

? Ich wär da nie draufgekommen....


Hab ich mir mal vor x Monaten ausm Inet geladen, bei "NAME-RADIOBUTTOM" muss der Name des RadioButtons rein. Wenn bei item(0) ein Fehler auftaucht dann probier einfach mal die 1 aus, wenn dort auch ein Fehler auftaucht dann die 2 usw..... irgend wann wirds funktionieren^^


toms - So 22.06.08 21:47

Hallo,

Kannst es mal damit probieren:


Delphi-Quelltext
1:
  WB_SetRadioCheckboxField(WB, 'radio''r9417970', True);                    




Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
function WB_FindFieldByValue(WebBrowser: TWebBrowser; FieldType, FieldValue: stringvar 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;


Die Brotmafia - Mo 23.06.08 22:28

Hab ich schon probiert, ging leider auch nicht... Auch wenn es gehen würde, in dem Fall müsste ich dann immer das "r941786456" aus dem Quelltext lesen lassen, da sich das immer ändert...


Narses - Mo 23.06.08 22:31

Moin!

user profile iconDie Brotmafia hat folgendes geschrieben:
Hab ich schon probiert, ging leider auch nicht... Auch wenn es gehen würde, in dem Fall müsste ich dann immer das "r941786456" aus dem Quelltext lesen lassen, da sich das immer ändert...
Schonmal auf die Idee gekommen, dass der Betreiber der Seite das möglicherweise absichtlich macht, weil Vote-Bots nicht "erwünscht" sind? :roll: :|

Ich habe den Verdacht, dass Du dieses Topic für illegale Zwecke / Spaßprogramme nutzen willst. Um Schaden vom Forum abzuwenden, können wir derartige Threads nicht unterstützen.

Vergleiche hierzu auch unsere Richtlinien [http://www.entwickler-ecke.de/richtlinien.html]:
5.4 Viren, Scherzprogramm und Co.:
Das Erstellen von Viren und Scherzprogrammen wird durch das Forum nicht unterstützt. Wird klar, dass eine oder mehrere Fragen darauf abzielen, so etwas oder ähnliches zu erstellen, werden die entsprechenden Topics gelöscht oder geschlossen.


Diese Entscheidung ist Ermessenssache, subjektiv und diskussionsfähig. Wenn du dazu per VA Stellung nehmen möchtest, werden wir das im Team diskutieren und diese Entscheidung gegebenenfalls ganz oder in Teilen revidieren.

cu
Narses