input-tag InvokeMember("Click") nicht feuern onclick-Ereignis im web-browser
Ich bin mit Dotnet Web-Browser klicken Sie auf ein Input-Element - Taste. Wenn das click-Ereignis ausgelöst wird, führt es eine JS-Funktion, die erzeugt captcha mit Google Recaptcher, die Quelle, die aussieht wie Recaptcha link.
Nun das Problem ist, dass ich nicht in der Lage, um das Feuer der onClick-Ereignis, ich bin mit dem folgenden code:
HtmlElementCollection inputColl = HTMLDoc.GetElementsByTagName("input");
foreach (HtmlElement inputTag in inputColl)
{
string valueAttribute = inputTag.GetAttribute("value");
if (valueAttribute.ToLower() == "sign up")
{
inputTag.Focus();
inputTag.InvokeMember("Click");
break;
}
}
Habe ich alles überprüft, ich bin fangen Sie die rechts-Taste, aber weiß nicht, warum das onClick event nicht gefeuert zu werden.
Jede Anregung ist willkommen.
- Dein code funktioniert bei mir. Ist es möglich, dass dieser code ausgeführt wird, bevor das Dokument vollständig bereit, im browser kontrollieren.
- Nein, das Dokument komplett geladen wird, ich bin in der Lage, das Element, das ich will, habe ich ausgetestet und geprüft, ich bin in der Lage, es zu fangen. Aber wenn ich auf den button passiert nichts, ich denke das click-Ereignis wird nicht ausgelöst, in der Erwägung, dass, wenn ich es manuell mache, die auf Web-Browser, es wird geklickt.
- Wo steckst du den code? Stellen Sie sicher, es ist genannt nach dem Dokument vollständig geladen ist. Und beachten Sie, dass, OnDocumentCompleted des webbrowser-Steuerelements in der Regel zweimal aufrufen, so überprüfen Sie den Status der webbrowser-auch, um sicherzustellen, dass es ist eigentlich abgeschlossen.
- Können Sie fügen Sie alle repro-code?
- Zunächst klicken Sie in kleinen Fall und man muss immer einige Fehler wenn Sie nicht deaktiviert Skript-Fehler.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Blick auf die Feste Beispiel unten:
Sollte diese Arbeit für Sie sicher. Getestet habe ich es auf Anker und DIvs, die das onclick-Ereignis.
Habe ich nicht in der Lage gewesen, um den link zu öffnen, um zu sehen, den code, also ich nicht versuchen Sie es auf Ihrem Fall speziell.
Jedenfalls, wenn dies nicht funktioniert, kann der TAG-container eingefügt wird, in eine Form, in diesem Fall müssen Sie zum auslösen des submit-Ereignis des Formulars, nicht feuern, das klicken auf die sorm-senden-Schaltfläche.
Jedenfalls kann dein code funktioniert auch, wenn Sie anrufen", klicken Sie auf" als Kleinbuchstaben ( die ich wirklich nicht überprüfen, nur raten, eine Mutter, die in C# Fall egal!).
PS: Siehe Webbrowser: Reihenfolge der Aktivitäten, wenn keine DocumentCompleted ausgelöst wird, durch einen link auf gehosteten Webseite für einige interessante side-code für den Fall, hoffe, es hilft und kann mir jemand hilft, durch Rücksendung!
Sind Sie sicher, dass "Klicken" ist der richtige name? Ich habe einige fast identischen code, um genau das tun die gleiche Sache, und der name des Attributs ist "onclick". Haben einen anderen Blick auf das HTML für die Seite.
Versuchen
Spielen Sie einfach mit den Bedingungen, prüfen Sie, ob Sie die richtige Taste. BTW, kleine Fall "Klick" auf InvokeMember. Dies ist, was ich verwenden und es funktioniert für mich.
Als Sie bereits das Objekt im Fokus ist, verschicken Sie die
ENTER
Schlüssel wie diese: