Because it's not needed.
All protocols which are commonly used to download files either have a buildin mechanism to ensure integrity of the data stream or rely on a lower-level protocol (like TCP) to provide this. This is a reliable precation against accidental corruption of files in transfer.
When it comes to intentional corruption of files by a man-in-the-middle: Any attacker which can modify the data-stream of the download itself can very likely also modify the data-stream which is used to transfer the checksum, so it would not be an efficient security precation.
Such checksums only make sense when the website which advertises the file and the website which hosts the file are under control of different entities, like when you outsource your downloadable files to a 3rd party filehoster. But to automatize this, we would need a protocol which gives one server the authority to tell which files on another server are authentic. Such a protocol would have plenty of abuse potential.