if player.x,player.y = arrow.x,arrow.y?
problem is that player is probably moving and the x and y will not completely be the same.
so maybe you could use if distance(player.x,player.y,arrow.x,arrow.y) < 2 (change this number to see if it has to be bigger or smaller)
To make the turn at exactly the right place you could first set the player position to the arrow posdition before changing direction. The small jump will probably be hardly noticable.