C# winform 프로젝트에서 웹 브라우저 개체를 사용하여 웹 사이트에 로그인하고 특정 목록으로 이동 한 다음 해당 목록을 사용합니다. 로그인 한 후 양식 안에있는 일부 드롭 다운 선택 항목을 선택하고 양식을 제출해야합니다 (제출 요소가 없습니다 - 양식 제출은 onclick 이벤트로 고정 된 이미지를 클릭하여 완료됩니다. 아래 그림 참조).C# webbrowser를 사용하여 드롭 다운 선택에서 선택하고 양식 제출 스크립트를 호출하는 방법
다음은 대상 사이트에서 코드의 축약 된 버전입니다 (필자는이 코드를 짧게 만들었습니다. 적절한 모든 것을 그대로 둔 채 생각했습니다. HTML과 javascript에 초점을 맞추기 위해 모든 스타일을 잘라 냈습니다) . 마지막으로 참고 - 내가 찾았지만 기능 objForm.submit
찾을 수 없습니다 :
<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>
내가 시도 무엇을 :
webBrowser1.Document.GetElementById("origin_location")
.SetAttribute("value", "4");
webBrowser1.Document.GetElementById("destination_location")
.SetAttribute("value", "4");
내가 거기, 내가 제대로 그 2 일을하고 있는지 확인하고, 3 분의 1을 아니다 :내 첫번째 생각은 다음과 같이, 내가 선택하고 싶은 세 가지의 제 1 및 제 2의 속성을 설정하는 것이 었습니다 ID가 없으므로 선택 방법을 모릅니다. 나는 비교적 새로운 코더이고 어떤 도움이나 지침을 주셔서 감사합니다,
<a href="javascript: void 0;" onclick="objForm.submit(); return false;">
<img src="/tab/images/buttons/submit.gif" border="0" WIDTH="71"
HEIGHT="21">
</a>
으로는 분명 있습니다
마지막으로, 나는 고정 된 이미지를 클릭하거나 읽는 셀에 온 클릭 스크립트를 호출합니다.
"찾았지만"objForm.submit "함수를 찾지 못했습니다. 즉, 양식이 제출 될 때 코드에서 호출하려고하는 JavaScript 함수입니다. 존재하지 않으면 ** 생성해야합니다 **. 또한, 그 후에 false를 반환하기 때문에 성공적으로 호출되지 않습니다. ''는 단순히 ' –
감사합니다. 나는 웹 사이트를 작성하지 않았다. 나는 페이지 소스 코드에있는 내용을 붙여 넣었다. 나는 로그인하고 나가 일하는 명부를 긁는 프로그램을 창조하는 것을 시도하고있다. 제출하려고하는 양식은 목록을 작성하는 조회를 정의합니다. 또한 수정 - 소스에 다음 문장이 포함됩니다. objForm.onSubmit = _customOnSubmit; _customOnSubmit 함수가 있습니다. 그 정보가 도움이된다면 붙일 수 있습니다 - 함수를 호출하는 것에 대한 제 생각은 단순히 다음과 같이하는 것입니다 : webBrowser1.Document.InvokeScript ("objForm.submit"); –