javascript - python 通过 POST 使用 javascript 提交发送数据

标签 javascript python authentication urllib2 form-submit

我从 python 脚本提交表单时遇到问题..这是表单

<form id="userLogin" autocomplete="OFF" action="LoginPage.aspx" method="post" name="userLogin"
<input type="text" class="txt" id="Userid" name="Userid" maxlength="12">
<input type="password" class="txtpwdbox" id="Password" name="Password" readonly="" maxlength="10">
<img style="CURSOR:pointer" onclick="userIdValidation();" src="/ENG/images/but-login-en.gif" id="idSubmit">

从上面的代码中,我们可以注意到最后一行是关于提交的,但是如何在 python 中做到这一点?

这是我的Python代码

import urllib,urllib2,cookielib
login_data = urllib.urlencode({'Userid':'test','Password':'123456'})
cj = cookielib.CookieJar()
op = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
c = op = urllib2.urlopen('https://www.example.com/Login/LoginPage.aspx', login_data)
print c.read()

但它没有提交..以防万一您想知道userIdValidation()函数是什么,它基本上是检查用户是否填写了用户名和密码字段,然后执行该命令document .userLogin.submit();

最佳答案

也许你可以尝试mechanize (PyPI page)。不确定它是否处理 JavaScript,但它在页面之间导航和提交表单方面对我帮助很大。此外,您还可以摆脱 cookie 管理。

关于javascript - python 通过 POST 使用 javascript 提交发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11552534/

相关文章:

javascript - OLS 回归 JS 库

javascript - 从数组中删除项目而不迭代

python - Cython 中的内存 View 数组

php - 在 Laravel 5.7 中使用 Auth 激活用户 session 时重定向到页面的方法

php - 如何使用PHP将网页获取到变量中

javascript - 更改页面 Javascript 时保持链接样式

Javascript原型(prototype)继承

python - 将动态字段添加到 django 管理模型表单

python - 如何将 django 连接到 docker redis 容器?

spring-boot - 使用 Spring Boot 2 和 Spring Security 5 进行多因素身份验证