You are forgetting G-d's word through Jeremiah. Israel was told to stand down and take their punishment, but they refused the foreign subjugation and were subsequently disposessed of the land.
That was with the Babylonian captivity, and you are correct. Israel had the chance to listen to God.
The invasion of Palestine by Joshua & the COI might also have been preceded by a period of time in which God gave those nations an opportunity to repent.
The Bible doesn't specifically say so, but it indicates it when God informs Abraham (?) that the sin of the Canaanites had not yet reached its fullness....and therefore, that He would not have the land dispossessed for another 400 years or so.