使用Python机械化模块填充textarea

Ast*_*isk 4 python textarea mechanize

有没有办法用Python的机械化模块填写textarea作为表单的一部分?

Nou*_*him 6

你可以做点什么

import mechanize

br = mechanize.Browser()
br.open("http://pypi.python.org/pypi")
br.select_form("searchform")
br['term'] = "Mechanize"
response = br.submit()
Run Code Online (Sandbox Code Playgroud)

br['term'] = "Mechanize"是相关的路线.

你真的需要接受一些问题的答案.


gim*_*mel 5

forms引用有几个填充response对象中的文本控件的示例.

相关报价:

# The kind argument can also take values "multilist", "singlelist", "text",
# "clickable" and "file":
#  find first control that will accept text, and scribble in it
form.set_value("rhubarb rhubarb", kind="text", nr=0)
Run Code Online (Sandbox Code Playgroud)

kind参数可以与form.find_control()form.set_value()方法一起使用来定位"text"控件.

我们对机械化_form.py进行了一些解释.机械化TextControl覆盖(以及其他)TEXTAREA表单元素.

#---------------------------------------------------
class TextControl(ScalarControl):
    """Textual input control.

    Covers:

    INPUT/TEXT
    INPUT/PASSWORD
    INPUT/HIDDEN
    TEXTAREA

    """
    def __init__(self, type, name, attrs, index=None):
        ScalarControl.__init__(self, type, name, attrs, index)
        if self.type == "hidden": self.readonly = True
        if self._value is None:
            self._value = ""

    def is_of_kind(self, kind): return kind == "text"
Run Code Online (Sandbox Code Playgroud)