Fill in the HTML input with given label (recommended), name or id with
    the given text.

    Supported input types are text, textarea, password, month, time, week,
    number, range, email, url, tel and color.

def fill_in_textfield(self, field_name, value):
    """
    Fill in the HTML input with given label (recommended), name or id with
    the given text.

    Supported input types are text, textarea, password, month, time, week,
    number, range, email, url, tel and color.
    """

    date_field = find_any_field(world.browser,
                                DATE_FIELDS,
                                field_name)
    if date_field:
        field = date_field
    else:
        field = find_any_field(world.browser,
                               TEXT_FIELDS,
                               field_name)

    if not field:
        raise AssertionError(
            "Cannot find a field named '{}'.".format(field_name))

    if date_field:
        field.send_keys(Keys.DELETE)
    else:
        field.clear()

    field.send_keys(value)