MSHTML - диалоговое окно подтверждения автоматического щелчка для JavaScript - PullRequest
1 голос
/ 26 февраля 2009

Я пытаюсь автоматически проанализировать / отправить веб-страницу, используя MSHTML (в C # .Net 3.1 WPF WebBrowser control). Я могу заполнять формы, нажимать кнопки и перемещаться по страницам без проблем.

Но я не знаю, как автоматически нажимать кнопку «ОК» в диалоговом окне подтверждения JavaScript, которое появляется, когда я нажимаю кнопку «Отправить».

C # код:

mshtml.IHTMLDocument2 doc = (mshtml.IHTMLDocument2)webBrowser.Document;
mshtml.IHTMLFormElement form = doc.forms.item("inputForm", 0) as mshtml.IHTMLFormElement;
mshtml.IHTMLElement btnSubmit = form.item("btnFormSubmit", null) as mshtml.IHTMLElement;
btnSubmit.click();

Появится диалоговое окно подтверждения («Вы уверены?»). Я хочу как-то отправить нажатие клавиши «Ввод» в документ MSHTML, чтобы автоматически подтвердить отправку.

Ответы [ 2 ]

1 голос
/ 17 августа 2009

Я наконец нашел способ, как подавить подтверждающее сообщение в элементе управления WebBrowser. Это на самом деле показано в функции JavaScript showConfirm (). Я вставляю фиктивную функцию showConfirm () вверху заголовка Browser.Document, которая перезаписывает / подавляет оригинальную функцию showConfirm (). Код занят, но основная идея понятна и отлично работает.

0 голосов
/ 26 февраля 2009

Поскольку элемент управления WebBrowser является черным ящиком, вам, вероятно, следует изучить вопрос о получении дескриптора диалога через Win32 API. Оттуда вы можете вызвать кнопку «ОК». Извините, я не могу быть более конкретным, потому что никогда раньше не делал этого. Надеюсь, этого достаточно, чтобы вы в правильном направлении исследовали.

...