заполнить HTML-формы с помощью WebBrowser и нажать кнопку «Отправить» не удается - PullRequest
0 голосов
/ 28 февраля 2012

Есть сайт для бронирования еды, который я использую, чтобы зарезервировать еду. Я хочу автоматизировать бронирование. Существует форма с 7 флажками для каждого дня недели. Я получаю флажки и проверяю дни, которые я хочу, и после этого нажимаю кнопку отправки. Проблема в том, что флажки не отмечены, но еда, но после нажатия кнопки при перезагрузке страницы, флажки не проверяются (это означает, что еда не зарезервирована). На самом деле это то, что я делаю с любым обычным браузером, и флажки проверяются после перезагрузки страницы. Существует проблема с проверкой флажков. Я попробовал эти коды для проверки их:

element.SetAttribute("checked", "checked");
element.InvokeMember("Click");

также, когда программа работает, если я нажимаю на себя (не используя код), это работает но если я отмечу 2 чекбокса с кодом и еще один сам, это тоже не сработает.

1 Ответ

0 голосов
/ 01 марта 2012

В конструкторе страниц были некоторые функции для событий mousedown и mouseup на ярлыке для флажка, и некоторые функции вызывались внутри них, а не для событий mousedown и mouseup этого флажка.

<span style="display:inline-block;text-decoration:none;height:21px;">
<input id="chk3" type="checkbox" name="chk3" checked="checked">
<label for="chk3">Tuesday</label>
</span>

, поэтому я вызвал щелчокдля метки рядом с флажком, и это сработало!

HtmlElement element; //points to the checkbox
HtmlElement label = element.NextSibling;
label.InvokeMember("click");

Я обнаружил, что некоторые функции javascript находятся в другом файле, например

<script src="/WebResource.axd?d=a9EVQm7rLRaKIS8apQBSZw2&amp;t=634596512855689274" type="text/javascript"/>

Я думал, что WebBrowserне загружать файлы, связанные с HTML, но я был не прав.Загружает все файлы.

...