使用mechanize提交表单而不使用control nam

2024-10-02 02:33:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用mechanizeforpython提交表单,但是我需要填写的表单控件没有指定名称。在

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

我试图编辑的控件是上述对象中的最后一个控件,<TextareaControl(<None>=)>。在

我看过文档,似乎找不到一种方法来为该控件赋值,因为它没有与之关联的名称。在

^{pr2}$

输出“无”


Tags: samplehttpsform名称comnone表单post
1条回答
网友
1楼 · 发布于 2024-10-02 02:33:33

所以,我承认,这件事很难搞清楚。必须仔细看一下^{} code itself才能弄清楚。不幸的是,我无法确定在没有name属性的实际表单项上测试它,尽管如果您提供您尝试拉取的站点,我可以这样做,或者您可以自己做。在

事实上,表单对象在可用性方面并没有得到很好的实现。我能为您编辑一个无名表单控件的值的唯一方法是使用表单^{} method

class HTMLForm:

    # <...>

    set_value(value,
          name=None, type=None, kind=None, id=None, nr=None,
          by_label=False,  # by_label is deprecated
          label=None)

因此,在这里设置要查找的控件的方法是使用nr参数来获取它,使用表单中控件的索引。不幸的是,您不能使用负整数从后面抓取控件,所以要获取最后一个表单,您必须按照nr=len(myform.controls)-1的行进行操作。在

在任何情况下,您可以在这里使用set_value方法,您应该这样设置:

^{pr2}$

这对你很有用。告诉我进展如何。在

相关问题 更多 >

    热门问题