'Return a :class:`~.Request` instance to follow a link ``url``.
It accepts the same arguments as ``Request.__init__`` method,
but ``url`` can be not only an absolute URL, but also
* a relative URL;
* a scrapy.link.Link object (e.g. a link extractor result);
* an attribute Selector (not SelectorList) - e.g.
``response.css(\'a::attr(href)\')[0]`` or
``response.xpath(\'//img/@src\')[0]``.
* a Selector for ``<a>`` or ``<link>`` element, e.g.
``response.css(\'a.my_link\')[0]``.
See :ref:`response-follow-example` for usage examples.'

def follow(self, url, callback=None, method='GET', headers=None, body=None, cookies=None, meta=None, encoding=None, priority=0, dont_filter=False, errback=None):

    if isinstance(url, parsel.Selector):
        url = _url_from_selector(url)
    elif isinstance(url, parsel.SelectorList):
        raise ValueError('SelectorList    is    not    supported')
    encoding = (self.encoding if (encoding is None) else encoding)
    return super(TextResponse, self).follow(url, callback, method=method, headers=headers, body=body, cookies=cookies, meta=meta, encoding=encoding, priority=priority, dont_filter=dont_filter, errback=errback)
