def get_visible_fields(form):
    """
    Return visible form fields (the ones users should fill).
    """
    return form.xpath(
        'descendant::textarea|descendant::select|descendant::button|(descendant::input[(@type!="hidden" and @type!="HIDDEN" and @type!="Hidden") or not(@type)])'
        )
