Machen WebBrowser klicken Sie auf eine Schaltfläche auf einer Webseite mit einer bestimmten Klasse EINMAL in VB.net
Ich versuche, mich den webbrowser klicken auf einen bestimmten button innerhalb einer Webseite:
Den html-code für die Schaltfläche ist so etwas wie <a class="btn btn-large play">
und den code habe ich bisher auf diesen button klicken:
For Each Element As HtmlElement In WebBrowser2.Document.GetElementsByTagName("a")
If Element.OuterHtml.Contains("btn btn-large play") Then
Element.InvokeMember("click")
End If
Dies funktioniert, aber es macht den Webbrowser klicken Sie auf den button wieder und wieder. Irgendeine Idee, wie kann ich nur das machen lassen, also zweimal?
Diese Schleife iteriert über alle Elemente im angegebenen Dokument. Durch die Annahme, dass es nur ein element mit der OuterHtml text "btn btn-große Spiel", wäre es klickte nur einmal, jedes mal, wenn diese Schleife verwendet wird. Aus dem code, ich weiß nicht, Wann/wie oft diese Schleife wird verwendet, aber vermutlich ist es innerhalb einer Methode, die aufgerufen wird, mehr als einmal.
InformationsquelleAutor Sarim Abbas | 2013-10-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
vielleicht einfach so? 🙂
sollte nicht zurück und beendet die Schleife nach dem zweiten auf?
So kommentierte vor, das problem scheint nicht zu sein, provoziert durch die Schleife selbst, sondern durch "wo" (Methode) mit dieser Schleife ausgeführt wird, die scheint mehr als einmal aufgerufen werden. Wenn Sie brechen die Schleife oder exit die Methode wäre es nicht vermeiden, diese Methode erneut aufgerufen werden. Die OP sollte erklären, unter welchen Bedingungen diese Schleife aufgerufen wird.
oder vielleicht gibt es einfach ein paar Knöpfe mit "btn btn-große Spiel"?
Dies ist auch möglich (ein paar oder hundert; es ist outertext...), aber wenn die OP nicht beschreiben die Bedingungen besser, es gibt keine Möglichkeit, ihm zu helfen, genau.
InformationsquelleAutor VladL
Und Warum willst du nicht versuchen Sie zu erkennen, die Art von element im webbrowser:
Code-snippet, das ursprünglich von @ElektroStudios, ich bin nur ein lammer, Pasten code ohne Namensnennung.
Später können Sie ersetzen
MsgBox("You've clicked a link")
durch irgendeine Funktion oder einen event-oder sub-und tun, was Sie wollen.. 😀InformationsquelleAutor Seazoux
Versuchen Sie dies:
InformationsquelleAutor Alejandro
Ausreichen würden, um die Ausfahrt der
FOR
- Schleife, wenn Sie schon mal geklickt das Element, so versuchen Sie dies:InformationsquelleAutor ElektroStudios