2016-07-10 8 views
0

Ich verwende WatiN, um ein Formular auf einer Website auszufüllen. Die Autocomplete-Funktion der Textfelder funktioniert jedoch nur dann, wenn ich tatsächlich die Maus nehme und auf ein Textfeld klicke. Ich habe versucht mit Select(), Click() und TypeText() und in all diesen Fällen, die Autovervollständigung auf dem Formular nicht feuern.Simulation der Mausbewegung und Mausklick mit WatiN

Hat jemand dies festgestellt? Irgendwie kann ich es umgehen? Ich gehe davon aus, dass die Autocomplete-Funktionalität von JavaScript ausgelöst wird, aber wenn ich nur eine "richtige" Mausbewegung nachahmen und klicken könnte, wäre das genug für mich.

Antwort

1

Das Bewegen der Maus ist nicht wtinspezifisch, Sie müssen Windows API calls dafür verwenden. Aber die Autocomplete-Funktion ist eine Browser-Implementierung, keine JavaScript-Version, die für jeden Webbrowser unterschiedlich ist. Wenn Sie weiterhin mit Windows API klikken möchten, tun Sie es. Seien Sie sich bewusst, dass das Bewegen der Maus nicht so einfach ist, wie es sich anhört, wenn die Seite EXAKT ist (es hängt von verschiedenen Auflösungen ab, wenn sich die Seite in einem kleinen Fenster befindet, usw.) Genaue Position auch)

+0

Welche API verwende ich, um den Speicherort eines Steuerelements auf einer Webseite zu finden? Ich nehme an, dass WatiN etwas dafür hat. –

+0

Das sind Windows API, nicht Wattin. Die Dinge werden "interessant" für Sie, wenn Sie dies in Betrieb haben, können Sie diese "Technik" auch für andere Steuerelemente (Flash-Filme, etc.) anwenden http://stackoverflow.com/questions/18034975/how-do -i-find-position-of-a win32-control-Fenster-relativ-zu-seinem-Eltern-Fenster gibt es einige Arbeit zu tun, aber das funktioniert definitiv und es ist sehr zuverlässig. – ProgrammerV5