InvokeMember("Нажмите"), как это происходит в div
В веб-браузере контролировать сайт бронирования. когда я ищу от А до Б, это дает список предметов с ценой. (цена - радио-кнопка), когда я нажимаю радио-кнопку. новый div, созданный после некоторого процесса, кнопка отправки с именем submitButton0 появляется на веб-странице. на той же веб-странице. расположение сайта не изменилось. я хочу вызвать щелчок submitButton0.
проблема в том. Событие webBrowser1_DocumentCompleted выполнено. но на этот раз submitButton0 не на странице. прагматично кнопка readio была нажата. после некоторого процесса submitButton0 появляется на странице. поскольку submitButton0 приходит, я хочу быстро вызвать его щелчок.
каково это решение?
1 ответ
но на этот раз submitButton0 не на странице
Что, вероятно, означает, что кнопки добавлены Javascript. Нет возможности синхронизироваться с выполнением скрипта, нужно опросить. Включите таймер в обработчике событий DocumentCompleted и в проверке события Tick, достаточно ли изменился DOM, чтобы разрешить надежный вызов InvokeClick().
Убедитесь, что владелец сайта делает веб-сервис доступным. Тот факт, что кнопки добавляются позже, является довольно сильным намеком на то, что TOU сайта не допускает автоматизации. А сервис делает ваше приложение более устойчивым к изменениям веб-страниц. Уловка опроса DOM в значительной степени гарантированно сломается рано или поздно.