Input.IsMouseButtonDown returns true continuously as long as the mouse button is pressed, so yes it is perfectly normal that your function gets called many times.
If you want to be notified once, when the click happens, use events instead (see sf::Event::MouseButtonPressed).