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
Die 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: 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 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!
Die 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
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!