Roger Federer advanced to his record eighth Wimbledon final on Friday, beating defending champion Novak Djokovic in four sets.