我正在尝试完成一些自动化操作,包括在网页上提交表单。表单的值已经按列表中的每个项目进行了编码。
我用Python尝试了许多不同的模块,似乎都没有给我一个答案。我不能访问Visual Basic,而且我个人以前从未处理过.aspx页面。这是表单的名称,当我找到表单的参数时,我以为已经设置好了,可以开始使用了: ShowEditForm(id,param1,param2,param3,param4) #为安全起见,删除了实际的参数名称
这是最让人头疼的部分:
<INPUT id=__EVENTTARGET type=hidden name=__EVENTTARGET> <INPUT id=__EVENTARGUMENT type=hidden name=__EVENTARGUMENT> <INPUT id=__VIEWSTATE type=hidden value=/wEPDw... #This continues for 800+ characters我相信这就是我的代码失败的原因,我是不是在试图发布到python中的.aspx表单?
谢谢
发布于 2012-09-29 03:13:17
您需要解析/参数化您的帖子标头和内容。这可能不是微不足道的。
查看mechanize以获得HTTP级别的访问,并提供一些表单处理的便利性。
查看selenium,它可以用Python语言驱动真正的浏览器。
发布于 2012-09-29 03:02:58
我不认为aspx和它有任何关系。
你试过http://pypi.python.org/pypi/selenium吗?
发布于 2012-09-29 03:07:18
实际上,如果这些隐藏值不存在,POST请求的服务器端处理就不会起作用。ASP.NET使用这些东西来跟踪多个请求之间的状态。对ASP.NET Web Forms HTTP请求进行逆向工程并不是一件有趣的事情。
您可能需要请求页面,收集它提供给您的隐藏值,并将这些值包含在帖子中。
单步执行与页面的手动交互并捕获FireBug之类的请求/响应,还可以让您很好地了解在客户端和服务器之间来回发送的值。如果有一些JavaScript发送到响应中,以服务器预先确定的方式动态修改一些隐藏字段,帮助指示按下了哪个按钮或以某种方式修改了哪个控件,我也不会感到惊讶。
https://stackoverflow.com/questions/12645849
复制相似问题