def post(self, **kwargs):
        """Send a POST request to the currently loaded website's URL.

        The browser will automatically fill out the form. If `data` dict has
        been passed into ``kwargs``, the contained input values will override
        the automatically filled out values.

        Returns:
            `Response` object of a successful request.

        Raises:
            NoWebsiteLoadedError: If no website is currently loaded.
        """
        if self._url is None:
            raise NoWebsiteLoadedError('request submission requires a loaded website')

        data = kwargs.get('data', {})
        for i in self.soup('form').select('input[name]'):
            if i.get('name') not in data:
                data[i.get('name')] = i.get('value', '')
        kwargs['data'] = data

        response = self.session.post(self._url, **kwargs)
        self._url = response.url
        self._response = response
        return response