Autor Beitrag
Die Brotmafia
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 110

Win XP Suse Linux 9.3
Delphi 7 Enterprise, Delphi 2005
BeitragVerfasst: Fr 20.06.08 18:47 
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:

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 108



BeitragVerfasst: 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

_________________
Grüße Nowo
<TargeT>
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 59

Win XP, Win 98
Delphi 7
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 110

Win XP Suse Linux 9.3
Delphi 7 Enterprise, Delphi 2005
BeitragVerfasst: Sa 21.06.08 12:47 
ausblenden 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>
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 59

Win XP, Win 98
Delphi 7
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1099
Erhaltene Danke: 2



BeitragVerfasst: So 22.06.08 21:47 
Hallo,

Kannst es mal damit probieren:

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



ausblenden volle Höhe 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 110

Win XP Suse Linux 9.3
Delphi 7 Enterprise, Delphi 2005
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: 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:
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

_________________
There are 10 types of people - those who understand binary and those who don´t.
Dieses Thema ist gesperrt, Du kannst keine Beiträge editieren oder beantworten.

Das Thema wurde von einem Team-Mitglied geschlossen. Wenn du mit der Schließung des Themas nicht einverstanden bist, kontaktiere bitte das Team.