Как использовать элемент управления C# webbrowser для выбора из выпадающих списков и вызова скрипта отправки
В проекте C# winform я использую объект webbrowser для входа на веб-сайт, перехода к определенному списку и последующей работы с этим списком. После входа в систему мне нужно выбрать один из нескольких выпадающих вариантов выбора, которые находятся внутри формы, а затем отправить форму (нет элемента submit - отправка формы выполняется нажатием на изображение, привязанное к событию onclick, все как показано ниже.
Вот сокращенная версия кода на целевом сайте (я его совсем немного сократил - думаю, что оставил все, что имеет отношение к делу. Я также вырезал все стили, чтобы сосредоточиться на HTML и javascript). Вот код:
<form name="frm1" id="frm1" action="/tab/formaction.asp" method="post"> <table> <tr><td> Locations</td></tr> <tr><td> <table> <tr> <td>Origin</td> <td> <select title="Choose Origin Location(s)" name="origin_location" id="origin_location" multiple="multiple"> <option value="0">ANYWHERE</option> <option value="1">North West</option> <option value="2">North Central</option> <option value="3">Great Lakes</option> <option value="4">North East</option> <option value="5">South West</option> </select> </td> </tr> <tr> <td>Destination</td> <td> <select title="Choose Destination Location(s)" name="destination_location" id="destination_location" multiple="multiple"> <option value="0">ANYWHERE</option> <option value="1">North West</option> <option value="2">North Central</option> <option value="3">Great Lakes</option> <option value="4">North East</option> <option value="5">South West</option> </select> </td> </tr> <tr> <td>Number of People</td> <td> <select name="people"> <option value="1">1+</option> <option value="2">2+</option> <option value="3">3+</option> <option value="4">4+</option> </select> <select style="visibility:hidden;" name="equality"> <!-- <option value="<=">Less than or Equal</option> <option value="=">Equal</option> !--> <option value=">=">Greater than or Equal</option> </select> </td> </tr> <tr> <td> <a href="javascript: void 0;" onclick="objForm.submit(); return false;"> <img src="/tab/images/buttons/submit.gif" border="0" WIDTH="71" HEIGHT="21"> </a> </td> </tr> </table> </td></tr></table> <input type="hidden" name="origin_text" id="origin_text"> <input type="hidden" name="origin_region_id" id="origin_region_id"> <input type="hidden" name="origin_state_id" id="origin_state_id"> <input type="hidden" name="origin_city_id" id="origin_city_id"> <input type="hidden" name="destination_text" id="destination_text"> <input type="hidden" name="destination_region_id" id="destination_region_id"> <input type="hidden" name="destination_state_id" id="destination_state_id"> <input type="hidden" name="destination_city_id" id="destination_city_id"> <input type="hidden" name="equality_text" id="equality_text"> <input type="hidden" name="sZip" id="sZip"> </form>
Что я уже пробовал:
My first thought was to set attributes for the first and second of the three things I want to choose, like this: <pre>webBrowser1.Document.GetElementById("origin_location") .SetAttribute("value", "4"); webBrowser1.Document.GetElementById("destination_location") .SetAttribute("value", "4");
Я не уверен, что делаю эти 2 Правильно, а для третьего идентификатора нет, поэтому я понятия не имею, как его выбрать.
Наконец, я хочу щелкнуть по закрепленному изображению или вызвать скрипт onclick в ячейке, которая читает:
<a href="javascript: void 0;" onclick="objForm.submit(); return false;"> <img src="/tab/images/buttons/submit.gif" border="0" WIDTH="71" HEIGHT="21"> </a>
Как может быть очевидно, я довольно новый кодер и ценю любую помощь или руководство.