Independent Richard (Rick) McInroy was elected mayor of Canisteo Tuesday, defeating Republican Fred Thompson to win a two-year term in the Steuben County village.