I had this issue after a clean install of IIS followed by Reporting Services. I configured reporting services using the config tool and ended up with green ticks against all sections. The reportserver url worked fine and reports were accessible, however when accessing http://servername/reports, I received the error "The ReportServerVirtualDirectory element is missing".
Following looking around I found the following article:This page provides the following fix which worked perfectly:
Open C:\Program Files\Microsoft SQL Server\MSSQL.2\Reporting Services\ReportManager\RSWebApplication.config using notepad or equivalent. Find the line
Save the file and reload the page.