29
我试图从机械化页面中选择一个表单,但是问题表单在html中没有“name”属性。我该怎么办?当我尝试使用Python机械化选择一个没有名字的表格
br.select_form(name = "")
我得到的错误,没有声明与该名称的形式,该功能需要一个名称输入。网页上只有一种表单,是否有其他方式可以选择该表单?
我试图从机械化页面中选择一个表单,但是问题表单在html中没有“name”属性。我该怎么办?当我尝试使用Python机械化选择一个没有名字的表格
br.select_form(name = "")
我得到的错误,没有声明与该名称的形式,该功能需要一个名称输入。网页上只有一种表单,是否有其他方式可以选择该表单?
尝试:
br.select_form(nr=0)
选择第一种形式
在机械化source,
def select_form(self, name=None, predicate=None, <b>nr=None</b>):
"""
...
nr, if supplied, is the sequence number of the form (where 0 is the
first).
"""
如果你想不管他们的名字,你执行了多种形式码可以遍历每个表单,让脚本知道下一个表单将工作。
currentForm = 0
for form in br.forms(): # Iterate over the forms
br.select_form(nr = currentForm) # Select the form
'''
The code you want to run for every form
'''
currentForm += 1 # Add 1 to the current working form so the script knows what form is working next
谢谢。这只适用于我的实例只有一种形式。出于好奇,你认为它可以用多种形式来完成?要么是所有未命名的,要么是一些已命名的,还有一些未命名的? – 2010-04-06 04:13:00
@mvid,是的,一个文件可以有多种形式,名称也是可选的,机械化应该没有问题。 – YOU 2010-04-06 04:18:05
我们可以从表单中获得谓词值吗? – 2010-11-03 16:17:39