Кликнуть по кнопке в WebBrowser - C#

Узнай цену своей работы

Формулировка задачи:

Есть WebBrowser и при загрузке страницы нужно кликнуть по кнопке. К сожалению, с помощью HtmlElement, Document.GetElementsByTagName, мне не удалось программно кликнуть. Поэтому, я вижу два пути решения

Эмуляция клика мышки

private const UInt32 MOUSEEVENTF_LEFTDOWN = 0x0002;
        private const UInt32 MOUSEEVENTF_LEFTUP = 0x0004;
        [DllImport("user32.dll")]
        private static extern void mouse_event(UInt32 dwFlags, UInt32 dx, UInt32 dy, UInt32 dwData, IntPtr dwExtraInfo);
 mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, new IntPtr());
Это работает, но есть один нюанс. Мне нужно перезапустить приложение и начать все заново:
    Application.Restart();
            System.Environment.Exit(1);
Но после перезапуска программа не кликает, хотя все выполняется в точности, как в прошлый раз.

Нажать на кнопку, с помощью эмуляции клавиатуры

Если я нажимаю кнопку TAB вручную, то он проходит по элементам веб-страницы и остается нажать кнопку "ENTER" и клик происходит. Но при попытке сделать программно:
SendKeys.Send("{TAB}");
Вместо того, чтобы переключать фокус элементов страницы при нажатии на ТАБ, программа скроллит эту веб-страницу. Что делать?

Решение задачи: «Кликнуть по кнопке в WebBrowser»

textual
Листинг программы
Document.GetElementsByTagName

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.2 из 5
Похожие ответы