Mechanize에서 양식을 제출하려고 시도하지만 일부 자바 스크립트에서 필요한 양식 값을 추가하는 방법을 모르겠습니다. Mechanize는 아직 Javascript를 지원하지 않으므로 수동으로 변수를 추가하려고합니다.Mechanize Javascript
양식 소스 : 양식
page.forms.first['__EVENTTARGET'] = '_ctl0:ContentPlaceHolder1:Link'
page.forms.first['__EVENTARUGMENT'] = '123456'
제출 :
<form name="aspnetForm" method="post" action="list.aspx" language="javascript" onkeypress="javascript:return WebForm_FireDefaultButton(event, '_ctl0_ContentPlaceHolder1_cmdSearch')" id="aspnetForm">
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__LASTFOCUS" id="__LASTFOCUS" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/..." />
<script type="text/javascript">
<!--
var theForm = document.forms['aspnetForm'];
if (!theForm) {
theForm = document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
// -->
</script>
<script language="javascript">
<!--
var _linkpostbackhit = 0;
function _linkedClicked(id, key, str, a, b) {
if (!b || !_linkpostbackhit) {
if (!a) {
__doPostBack(key, id);
_linkpostbackhit = 1;
} else {
if (window.confirm(str)) {
__doPostBack(key, id);
_linkpostbackhit = 1;
}
}
}
return void(0);
}
// -->
</script>
...
<a href="JavaScript:_linkedClicked('123456','_ctl0:ContentPlaceHolder1:Link', '',0,1);">123456</a>
...
</form>
내가 두 변수를 추가하려고
page.forms.first.click_button(page.forms.first.buttons.first)
이 결과는 (재) 반환보기 링크 중 하나를 클릭하지 않은 것처럼 현재 링크 목록
도움이 될 것입니다. 감사!
DUDE를! 너는 내 엉덩이에 답했다. 나는 너에게 언제든지 맥주를 빚지고있다! 무리 감사. – jlstr