我想用requests
模块登录到网站。登录表单是在javascript中我认为。我需要确定包含用户名和密码的表单名称。我试图对它进行排序我们的萤火虫,我将鼠标悬停在该网站上的Username
领域,这里是代码:如何识别登录表单变量
<div id="ctl00_main_login_dvUserTxt" class="dvUsr visible">
<input id="ctl00_main_login_UserNameText" class="f10 b txMain tx" type="text"
ondrop="javascript: return false;" ondrag="javascript: return false;" oncut="javascript:
return false;" oncontextmenu="javascript: return false;" onblur="javascript: return
false;" onpaste="javascript: return false;" oncopy="javascript: return false;"
autocomplete="off" tabindex="1" readonly="readonly" maxlength="20" value="Uzytkownik"
name="ctl00$main$login$UserNameText">
我做密码相同,想这些的任意组合,没有是正确的。
我也期待了页面的源代码,这里是什么,我相信是适当的功能:
<div>
<input type="hidden" name="__LASTFOCUS" id="__LASTFOCUS" value="" />
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE"
value="/wEPDwULLTE2NjY0NzYzMDhkZBd9ab2vcPcoEfqJ+ZqlPm7gs1iA" />
</div>
<script type="text/javascript">
//<![CDATA[
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>
我想eventTarget
可能是用户名的形式,它是不是虽然。
我在寻找表单名称的正确途径或我如何才能真正识别这些表单名称?
您是否试图模拟登录请求,而不直接使用表单?如果是的话,那么你可能会遇到这样的情况:“如果Page.IsPostBack”在该页面的底层代码隐藏之后...... – 2013-05-14 16:50:41
我只是想登录到网站以便稍后进行修改。 – nutship 2013-05-14 16:59:04