The protein doesn't move towards anything. It just randomly diffuses (bounces around) in the cell until it sticks to something. The particular chemical structure (the shape) of the protein and whatever it hits will determine how tightly they stick together and whether or not a chemical reaction occurs.
A way to imagine this is to think of a jar filled with a lot of glass marbles (water), 1 marble shaped magnet (the protein), and 1 metal marble (the substrate). Put the magnet at the bottom, fill the jar most of the way full with glass marbles, and then put the metal marble on top. Then close the jar and shake it. Eventually, after colliding with a lot of glass marbles, the magnet and the metal marble will collide and stick to each other. That's how it works in cells also. In cells, the speed at which the molecules move is proportional to temperature.
Here's a cool video that shows how proteins with a very specific shape bouncing around randomly can assemble into a complex structure.
To get a sense of just how quickly molecules move in a cell, think of a bacterial cell. An E. coli cell is about 1 micrometer in diameter. In a cell of that size with no sub-cellular compartments, every molecule will collide with every other molecule in the cell about once every second (if we make some assumptions such as no binding to other molecules). So if the cell contains just one unit of a certain enzyme, and just one molecule of its substrate, they will still collide fairly frequently (about once every second).
This rate decreases dramatically as radius of the cell increases. For example a cell with double the diameter (2 micrometers) has a volume eight times larger, so collisions between any two molecules take 8 times ($2^3$) as long to occur (in other words, it takes molecules 8 times longer to "find" each other). This is one reason why there is a kind of upper limit on the size of an individual cell. Bigger organisms are bigger because they have more cells, not because they have larger cells.
The field of biology concerned with how likely it is for a reaction to occur is called enzyme kinetics. A related field, which deals with how frequently molecules collide is called statistical mechanics.