Eg- He took advantage of the enemies weaknesses.
- Anybody can ask a question
- Anybody can answer
- The best answers are voted up and rise to the top
How about "to cash in on"?
"Play on (or upon)" could also do the trick, as well as the more formal -- yet idiomatic -- "avail oneself of" and "turn...to (good) account".
He played on his enemies' weaknesses, surprised them when they thought they couldn't be misled. source
Clever enough to discern the causes necessitating the cessation of treaty or war with an enemy, or to lie in wait keeping treaties, obligations and pledges, or to avail himself of his enemies' weak points, making jokes with no loss of dignity or secrecy... source
They availed themselves of the weaknesses, the selfishness and the self-interest of man... source
The politician of today knows men, and he knows how to turn their weaknesses to account. source
Exploited means exactly what you are asking.
It is not idiomatic, though. It is an exact definition.
How about made the most of? This is pretty casual American: Cougars made the most of the Eagles' defensive errors.
Alternately you could use took to task: this is a bit more British. Tottenham took Benefica to task. . .
If you are looking for an idiom (like your title says), rather than just a word that means the same thing, this answer may be helpful.
First, note that take advantage of is already considered to be an idiom (as indicate by The Free Dictionary section on idioms).
Another is strike while the iron is hot, meaning
This comes from forging iron. Obviously, if you forge hot iron, you want to strike while the iron is hot, as describe at phrase finder:
Using it in the context you provided:
Another option for you is he took them for a ride.
Implicit in the idiom is that they didn't want to go.