[VB.NET] Bestimmten Button im Webbrowser drücken?

12/13/2014 19:51 AimZKaY'#1
Hey,

Bin relativ neu in VB.net
Ich möchte einen kleinen bot schreiben, nichts großes.
Er soll nur einen einzelnen Button jedes mal drücken(im WB)
Wie geht das? :D

LG
12/13/2014 19:53 Crossside#2
1) was ist WB - nur irgendeine abkürzung ohne kontext einzuwerfen hilft nicht wirklich

2) Google -> "Vb.net Simulate Mouse" -> ??? -> Profit?

grüße
12/13/2014 19:55 AimZKaY'#3
WB = webbrowser
12/13/2014 19:55 DAS IST VEGAAZ#4
[Only registered and activated users can see links. Click Here To Register...]
Da steht alles drin was du wissen musst was WB angeht.
Have Fun :)
12/13/2014 19:57 Crossside#5
Quote:
Originally Posted by Dr.Vegaaz View Post
[Only registered and activated users can see links. Click Here To Register...]
Da steht alles drin was du wissen musst was WB angeht.
Have Fun :)
Er möchte eine Maus simulieren, keinen eigenen Webbrowser basteln ;)
Ist bisschen overkill nen webbrowser zusammenzuklicken anstelle einfach nur nen mausklick zu simulieren in ner whileschleife mit pause zwischendrine.
12/13/2014 19:57 AimZKaY'#6
Quote:
[HowTo]VB.net Webbrowser Programmierung [Anfänger]
Da steht alles drin was du wissen musst was WB angeht.
Have Fun
Ich hab den Browser etc schon, will nur einen Klick (alle 10 sek) generieren.
12/13/2014 19:59 8lol823#7
sooo..
einfach einen Timer nehmen, den Interval anpassen und doppelklicken. Dort dann "Webbrowser1.document.getelementybyid("[ID des buttons]").invokemember("click")

edit: Sry, falls Rechtschreibfehler drin sind. am besten per Hand eintippen, dann wird ja das richtige Vorgrschlagen!
12/13/2014 19:59 Crossside#8
[Only registered and activated users can see links. Click Here To Register...]
12/13/2014 20:01 AimZKaY'#9
Quote:
sooo..
einfach einen Timer nehmen, den Interval anpassen und doppelklicken. Dort dann "Webbrowser1.document.getelementybyid("[ID des buttons]").invokemember("click")
Kommt dem ganzen schon näher, aber die ID ändert sich immer, wie frage ich diese ab? :)

Keiner ne Lösung für das Abfragen?
12/13/2014 21:43 Nanoxx™#10
Bei jedem aufruf der seite? oder wenn du den butten clickst kommt ein anderer der auch geklickt werden muss..?
12/13/2014 22:21 Crossside#11
Quote:
Originally Posted by Nanoxx™ View Post
Bei jedem aufruf der seite? oder wenn du den butten clickst kommt ein anderer der auch geklickt werden muss..?
schätze mal er möchte folgendes

Pseudocode:

Code:
while(1)
{
 PressLeftMouseButton();
 sleep(10000ms); //=10 Sekunden
}
Quasi en simplen Klickbot halt^^
12/15/2014 12:16 Endecs#12
Falls es noch nicht gelöst wurde, du kannst im webBrowser jQuery ausführen.
In C# sieht das wie folgt aus:

Code:
webBrowser.Document.invokeScript("eval", new Objec[]{"jQuery Command"});
Außerdem ändert sich vielleicht die ID, aber wenn der Name oder etwas anderes sich nicht ändert, oder du weißt, ok es ist der 10'te Button im "Button Array", dann würde das wie folgt noch gehen:

Code:
webBrowser.Document.GetElementsByTagName("input")[9].GetAttribute("name");
Du kannst auch durch alle iterieren und nur nach einem Attribute wie "name" oder "value" suchen, dies würde wie folgt aussehen:

Code:
HtmlElementCollection elements = webBrowser1.Document.GetElementsByTagName("input");
foreach(HtmlElement element in elements)
{
   element.GetAttribute("value");
}
Du kannst einen Konverter benutzen, um dies als ein Vb.Net Code zu haben.

greets,
Endecs
12/15/2014 16:22 Crossside#13
Quote:
Originally Posted by Endecs View Post
Code:
HtmlElementCollection elements = webBrowser1.Document.GetElementsByTagName("input");
foreach(HtmlElement element in elements)
{
   element.GetAttribute("value");
}
Du kannst einen Konverter benutzen, um dies als ein Vb.Net Code zu haben.

greets,
Endecs
Wieso ruft man nicht einfach die Webseite kurz auf, schaut sich die Button Id an, und ruft ihn dann mit

Code:
document.getElementById('').submit();
oder

Code:
document.getElementById('').click();
auf?

Wäre einfacher als jedesmal alle Elemente durchzusuchen - imho.

grüße
12/15/2014 21:36 Endecs#14
Quote:
Originally Posted by Crossside View Post
Wieso ruft man nicht einfach die Webseite kurz auf, schaut sich die Button Id an, und ruft ihn dann mit

Code:
document.getElementById('').submit();
oder

Code:
document.getElementById('').click();
auf?

Wäre einfacher als jedesmal alle Elemente durchzusuchen - imho.

grüße
Natürlich, aber wenn er sagt, die ID ist immer anders, dann wird es mit der ID schon mal nicht gehen.

greets,
Endecs
12/15/2014 21:45 Mostey#15
Wieso benutzt man generell dieses verdammte Control wenn man auch einfach den HTTP Request emulieren kann? Dann braucht ihr euch wegen dem Namen oder der ID des Buttons keine Gedanken machen.