使用Python提交带有javascript目标的表单
Submitting a form with a javascript target using Python
背景
我有一个HTML表单,我正试图使用PythonRequests模块提交。
这是表单的HTML:
<form name="main" id="main" method="post" onSubmit="return validateForm(this);">
涉及的Javascript文件
validateForm((函数如下所示:
function validateForm(form)
{
if (form.buttonClicked[0].value == "delete"){
deleteCount += 1;
if (deleteCount > 1){
return false;
}
if(form.allowValidateOnDelete && form.allowValidateOnDelete.value == "true")
{
deleteCount = 0;
return validate(form);
}
else
{
return true;
}
}
else{
return validate(form);
}
}
这是validate((
function trimAll(form)
{
form.forwardedToNumber.value = trim(form.forwardedToNumber.value);
}
function validate(form)
{
trimAll(form);
for (var i=0; i < form.active.length; i++) {
if (form.active[i].checked) {
if (form.active[i].value == "false") {
return true;
}
}
}
if (form.forwardedToNumber.value == "") {
alert(errorText(1000, errorText(2201)));
form.forwardedToNumber.select();
return false;
}
return true;
}
问题
如何使用Python提交此表单?
我真的不能提交下面的例子,因为它作为URI没有意义:
session.request(
'POST',
'https://example.com/return validateForm(this);',
data={'active': 'true'}
)
我将如何提交目标为return function();
的表格?
onSubmit
处理程序不应与表单的action
(即数据将发布到的URL(混淆。您应该将onSubmit
视为一个触发器,它在用户提交表单时立即激活。如果处理程序的返回值为false,则表单数据根本不会发送到服务器。
要使用requests
执行同样的操作,您需要确定表单的action
属性是什么。如果表单没有action
属性,它将把数据发布到与最初获得表单的位置相同的URL。
相关文章:
- 使用javascript将表单提交到iframe目标中
- 通过JavaScript设置表单目标
- 在 iframe 中指定全局变量名称时,表单目标会中断
- HTML 表单目标到顶部框架
- 当表单目标被遮挡时,如何使用 PHP 提交表单
- html表单操作跨域目标iframe
- 表单属性目标是否与asp.net跨页回发相同
- -jQuery 表单插件 - 使用多个目标/数据
- <表单目标=“_blank”>在 iOS 7.0.3 中不起作用
- 当表单以 html 为目标并在 IE11 中操作另一个 html 时,它最终会打开两个页面
- 在没有 JavaScript 的情况下更改表单操作目标
- 跟踪谷歌分析目标中的表单输入
- javascript表单第二次提交到错误的目标
- 使用javascript将表单输入值插入href目标URL
- Firefox试图在按enter键时将表单发送到同一页面,而表单标记中没有定义目标
- 文件上传与jquery表单插件和mvc 3是不填写与我的部分视图的目标属性
- 如何使用get方法获取表单的完整目标url
- jQuery目标选择器的输入类型和表单名称
- 简单的方法使用getElementsByTagName来改变表单目标
- jQuery用特定的类选择目标表单中的输入元素