WinForms Web Browser управляет принудительной перефокусировкой? - PullRequest
3 голосов
/ 22 февраля 2010

Я пытаюсь автоматизировать веб-процесс, в котором мне нужно несколько раз нажать кнопку. Когда мой код «щелкает» по этой кнопке (HtmlElement, полученный из элемента управления WebBrowser, который есть в моей форме), он возвращает фокус в мое приложение, более конкретно, элемент управления WebBrowser. Я хочу лучше автоматизировать этот процесс, чтобы пользователь мог выполнять другие действия во время процесса, но это не может произойти, если окно само минимизируется, потому что оно достигает фокуса.

Код, связанный с нажатием:

HtmlElement button = Recruiter.Document.GetElementById("recruit_link");
button.InvokeMember("click");

Я также пробовал button.RaiseEvent ("onclick") и получаю те же самые результаты, с проблемами фокуса и всем.

Я также пытался скрыть форму, но когда вызывается метод InvokeMember / RaiseEvent, то, над чем я работал, теряет фокус, но, поскольку форма не видна, фокус кажется никуда.

Единственная нестандартная вещь в веб-браузере - это то, что для моей страницы установлен URI, а для ScriptErrorsSuppressed установлено значение True.

Ответы [ 2 ]

1 голос
/ 29 апреля 2010

Зачем вам нужно нажать эту кнопку? Это отправляет какую-то форму? Если да, вы можете использовать WebClient и моделировать форму отправки без графического интерфейса.

В основном, почти что-либо значительное требует подключения к веб-сайту с использованием Get Post или multipart/post, поэтому WebClient будет идеальным Вы можете просто включить сайт, на котором находится эта кнопка, и проанализировать его, чтобы узнать, что он делает. А затем смоделируйте собственное действие.

1 голос
/ 01 марта 2010

В IE7 или выше вы можете реализовать IProtectFocus на сайте веб-браузера и запретить изменение фокуса. Было бы гораздо лучше, если бы вы использовали сырой ActiveX или его оболочки, поддерживающие этот вид настройки, например csexwb . Если вам нужно использовать элемент управления веб-браузером winform, вам нужно создать свой собственный сайт веб-браузера .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...