Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用mechanize提交没有控件名称的表单_Python_Mechanize - Fatal编程技术网

Python 使用mechanize提交没有控件名称的表单

Python 使用mechanize提交没有控件名称的表单,python,mechanize,Python,Mechanize,我试图使用mechanize for python来提交表单,但我需要填写的表单控件没有指定名称 <POST https://sample.com/anExample multipart/form-data <HiddenControl(post_authenticity_token=) (readonly)> <HiddenControl(iframe_callback=) (readonly)> <TextareaControl(<Non

我试图使用mechanize for python来提交表单,但我需要填写的表单控件没有指定名称

<POST https://sample.com/anExample multipart/form-data
  <HiddenControl(post_authenticity_token=) (readonly)>
  <HiddenControl(iframe_callback=) (readonly)>
  <TextareaControl(<None>=)>>

输出“无”

所以,我承认,这一点很难理解。必须仔细看一眼才能弄明白。不幸的是,如果没有
name
属性,我无法在实际表单项上确定测试它,尽管如果您提供您试图拉取的站点,或者您可以自己做,我可以这样做

表单对象的可用性实现得不是很好。我能看到的唯一方法是使用表单的:

类HTMLForm:
# 
设置_值(值,
名称=无,类型=无,种类=无,id=无,nr=无,
by_label=False,#by_label不推荐使用
标签=无)
因此,在这里设置要查找的控件的方法是使用
nr
参数获取它,使用表单中控件的索引。不幸的是,您不能使用负整数从后面抓取控件,因此要抓取最后一个表单,您必须按照
nr=len(myform.controls)-1
的思路进行操作

在任何情况下,您都可以在这里使用
set\u value
方法,您应该这样设置:

forms[2]。设置_值(“看!!!!我设置了这个未命名控件的值!”,
nr=5)
这应该对你有用。让我知道进展如何

  forms = [f for f in br.forms()]
  print forms[2].controls[5].name